pyenv-win未通过本地设置覆盖系统Python版本

0 投票
1 回答
23 浏览
提问于 2025-04-13 12:56

我在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%

当然,如果你想要一个永久的解决办法,那就需要手动把上面的路径添加到你的环境变量里。不过,要注意,这可能会引发一些问题,所以我不太推荐这样做。

撰写回答