我已使用 Chocolatey 在 Windows 上安装了
pyenv-win 3.1.1
,并使用 pyenv install 2.6
成功安装了 Python 2.6。然后,我尝试通过导航到项目目录并运行 pyenv local 2.6
来为我的项目设置本地 Python 版本,该过程顺利完成。
当我用
pyenv versions
检查版本时,我看到:
* 2.6 (set by path\to\project\.python-version)
3.8.10
表明Python 2.6已正确设置为我的项目的本地版本。此外,
pyenv which python
指向 C:\Users\<userName>\.pyenv\pyenv-win\versions\2.6\python.exe
处的预期 Python 可执行文件。
但是,当我在项目目录中运行
python --version
时,它仍然指向我的系统Python安装(Python 3.11.7
位于C:\Program Files\Python312\python.exe
)。运行 where python
会产生:
C:\tools\msys64\mingw64\bin\python.exe
C:\Program Files\Python312\python.exe
C:\Users\<userName>\.pyenv\pyenv-win\shims\python
C:\Users\<userName>\.pyenv\pyenv-win\shims\python.bat
我预计运行
pyenv local 2.6
后,python
命令将指向通过pyenv-win
安装的Python 2.6版本。谁能帮我理解为什么 pyenv local 2.6
似乎没有在这种情况下按预期覆盖系统 Python 版本?
从这里,我可以找到一个临时解决方案:
set PATH=C:\Users\%USERNAME%\.pyenv\pyenv-win\shims\;%PATH%
当然,如果你想要永久解决方案,那么你必须手动将上述路径添加到你的环境变量中。但是,请注意它可能会导致一些问题,我不推荐它。