我遇到一个问题,Git Bash 无法识别 Poetry 设置的 Python 虚拟环境,而是默认为系统的全局 Python 安装。但是,PowerShell 可以正确识别和使用虚拟环境。
以下是两个 shell 中的命令和输出:
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
hamid@DESKTOP-GJ4J9QV MINGW64 /h/Coding/tradido/code (feature/levels)
$ python -c "import sys;print(sys.executable)"
C:\Program Files\Python311\python.exe
我希望 Git Bash 像 PowerShell 一样使用虚拟环境中的 Python 解释器。
默认解释器是正确的,但由于某种原因 bash 找不到它并使用全局 python。
根据这个问题,你可以找到解决办法。
发生这种情况是因为 Git Bash 使用系统的 PATH 环境变量来定位可执行文件。
您可以执行以下步骤:
使用
exit
命令停用虚拟环境。
使用
which python
命令找到虚拟环境的 Python 可执行文件。
通过修改
~/.bashrc
文件将虚拟环境的 Python 可执行文件添加到 Git Bash PATH 变量。您可以将以下行添加到文件中:
导出 PATH="$PATH:/path/to/virtual/environment/bin"
将
/path/to/virtual/environment/bin
替换为虚拟环境 bin 目录的实际路径。
source path/to/virtual/environment/bin/activate
命令激活虚拟环境。