安装pyenv-win后本地python版本未更改

问题描述

我最近使用pyenv-win documentation在Windows计算机上安装了pip,因为我已经在计算机上安装了Python 3.8.5。使用pyenv将全局版本设置为3.7.6:

  • 运行pyenv which python会按预期返回C:\Users\Haydn\.pyenv\pyenv-win\versions\3.7.6\python.exe
  • 但是,运行python -V会返回Python 3.8.5
  • pip -V返回pip 20.2.2 from C:\Users\Haydn\AppData\Roaming\Python\python38\site-packages\pip (python 3.8)

在Python 3.8文件夹中安装其他软件包(例如pipenv)会失败,并且需要Python 3.7的项目也会失败。我正在尝试找出可能做错了或无法解决的问题,以便在系统3.8上使用pyenv 3.7版本。


在安装过程中一切似乎都进展顺利

  • pyenv --version返回pyenv 2.64.3
  • 环境变量PYENV设置为C:\Users\Haydn\.pyenv\pyenv-win\
  • C:\Users\Haydn\.pyenv\pyenv-win\binC:\Users\Haydn\.pyenv\pyenv-win\shims添加Path环境变量中。

我对环境变量了解不多,但是我怀疑使用pyenv安装Python 3.7并没有为我的Path变量添加任何内容(请参见屏幕截图),调用python,它会按预期移至3.8文件夹。我觉得pyenv应该在这里添加一些内容,但这可能不是该软件包的工作方式,而其他原因很可能就是原因。

screenshot of Path variable

预先感谢您的帮助

解决方法

pyenv rehash 似乎对我有用。 我遇到了类似的问题,其中 Path 没有指向正确的 python 安装。重新哈希解决了这个问题。

pyenv-win github 上还报告了其他问题:https://github.com/pyenv-win/pyenv-win/issues/67 但这似乎已经解决了 - rehash 实际上是一个想法。

,

在环境变量 PATH 中设置的 Python 安装路径似乎覆盖了 pyenv-win 配置。如果之前在 PATH 中设置了任何 Python 安装目录,请尝试按照以下说明将其删除:pyenv global interpreter not working on windows10

,

每个virtualenv都具有自己的python和libs副本。因此,这就是为什么您看到自己的行为的原因。

,

我想进一步@nhieckqo 回答但还没有所需的代表,所以...

通过Windows Store从python3.9的系统安装中删除路径条目后, 我还必须禁用 python3.9 的所有别名(不仅仅是 pyenv github 建议的 App Installer)。

请参阅此处的“注意”:
https://github.com/pyenv-win/pyenv-win/tree/057ba9e97bc5f217ddcffc01768174495c78859a#finish-the-installation