仅在命令行运行时出现ModuleNotFoundError问题求助
解决命令行运行Python脚本时的ModuleNotFoundError(GitPython模块)
以下是针对性的排查和解决步骤:
确认虚拟环境激活状态
激活虚拟环境后,命令行前缀会显示(.venv)。如果没有显示,重新执行激活命令:- macOS/Linux:
source .venv/bin/activate - Windows:
.venv\Scripts\activate
激活后运行which python(macOS/Linux)或where python(Windows),确认输出路径指向.venv目录下的Python解释器(比如/Users/paul/Repos/dependencies/.venv/bin/python)。
- macOS/Linux:
校验pip与虚拟环境的关联
激活环境后执行pip --version,查看输出中的Python路径是否与.venv匹配。如果不匹配,说明当前pip未关联到虚拟环境,直接使用虚拟环境内的pip重新安装模块:- macOS/Linux:
./.venv/bin/pip install gitpython - Windows:
.venv\Scripts\pip.exe install gitpython
- macOS/Linux:
直接指定虚拟环境解释器运行脚本
跳过环境激活步骤,直接用虚拟环境的Python解释器执行脚本,避免环境切换问题:- macOS/Linux:
./.venv/bin/python main.py - Windows:
.venv\Scripts\python.exe main.py
- macOS/Linux:
验证模块安装路径
启动虚拟环境的Python交互模式:./.venv/bin/python # macOS/Linux执行以下代码确认模块位置:
import git print(git.__file__)正常输出应为
.venv/lib/python3.10/site-packages/git/__init__.py,如果路径不符,说明模块被安装到了全局Python环境而非虚拟环境中。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

