求助:Git Bash无法识别Poetry创建的Python虚拟环境
问题:Git Bash无法识别Poetry虚拟环境,默认使用全局Python
在同一项目目录下,PowerShell可正常调用Poetry创建的虚拟环境Python,但Git Bash始终使用系统全局Python版本:
PowerShell执行结果:
PS H:\Coding\tradido\code> python -c "import sys;print(sys.executable)" C:\Users\hamid\AppData\Local\pypoetry\Cache\virtualenvs\tradido-cdZ63RI2-py3.11\Scripts\python.exe
Git Bash执行结果:
hamid@DESKTOP-GJ4J9QV MINGW64 /h/Coding/tradido/code (feature/levels) $ python -c "import sys;print(sys.executable)" C:\Program Files\Python311\python.exe
解决方法
1. 手动激活虚拟环境
Git Bash可能未自动加载Poetry虚拟环境,可直接执行激活脚本:
source C:/Users/hamid/AppData/Local/pypoetry/Cache/virtualenvs/tradido-cdZ63RI2-py3.11/Scripts/activate
激活后再次执行Python路径检查命令,即可切换到虚拟环境版本。
2. 调用Poetry专属shell
执行Poetry内置命令,直接进入绑定虚拟环境的子shell:
poetry shell
进入后默认已激活虚拟环境,无需额外操作即可使用对应Python版本。
3. 调整Git Bash的PATH优先级
检查Git Bash的环境变量,确保虚拟环境的Scripts目录优先级高于全局Python路径:
- 激活虚拟环境后执行
echo $PATH,确认/c/Users/hamid/AppData/Local/pypoetry/Cache/virtualenvs/tradido-cdZ63RI2-py3.11/Scripts位于/c/Program Files/Python311之前。 - 若优先级异常,手动临时调整PATH:
export PATH="/c/Users/hamid/AppData/Local/pypoetry/Cache/virtualenvs/tradido-cdZ63RI2-py3.11/Scripts:$PATH"
4. 校验Poetry虚拟环境配置
确认Poetry的虚拟环境存储路径正确:
poetry config virtualenvs.path
若输出路径不符,重新配置后重装依赖:
poetry config virtualenvs.path C:/Users/hamid/AppData/Local/pypoetry/Cache/virtualenvs poetry install
内容的提问来源于stack exchange,提问作者scaryhamid
相关产品推荐
相关产品推荐

