pyenv-win未通过本地设置覆盖系统Python版本
我在Windows上通过Chocolatey安装了pyenv-win 3.1.1
,并成功使用pyenv install 2.6
安装了Python 2.6。接着,我想为我的项目设置本地的Python版本,于是进入项目目录并运行了pyenv local 2.6
,这个过程没有出现错误。
当我用pyenv versions
查看版本时,看到:
* 2.6 (set by path\to\project\.python-version)
3.8.10
这表明Python 2.6已经正确设置为我项目的本地版本。此外,pyenv which python
指向了预期的Python可执行文件,路径是C:\Users\<userName>\.pyenv\pyenv-win\versions\2.6\python.exe
。
但是,当我在项目目录中运行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版本吗?
1 个回答
0
在这里,我找到了一种临时的解决办法:
set PATH=C:\Users\%USERNAME%\.pyenv\pyenv-win\shims\;%PATH%
当然,如果你想要一个永久的解决办法,那就需要手动把上面的路径添加到你的环境变量里。不过,要注意,这可能会引发一些问题,所以我不太推荐这样做。