我刚刚按照安装指南安装了 pyenv pyenv-win,一切进展顺利,但我无法将 pyenv 全局 python 作为全局解释器
使用
rehashed
安装后我有
pyenv rehash
PS D:\> pyenv versions
3.5.1
3.6.2
3.7.7
* 3.8.2 (set by C:\Users\xxx\.pyenv\pyenv-win\version)
结果
> python --version
> 3.8.4
# expected
> 3.8.2
因此,我无法将
virtualenv
与 pyenv
安装的 python 解释器一起使用
virtualenv py382-djangodev --python=3.8.2
The path 3.8.2 (from --python=3.8.2) does not exist
我有同样的问题,我终于解决了:
1 - 卸载 Python(输入命令 python -V 时的当前版本)
2 - 安装 pyenv-win 并将其添加到 PATH(这里有一些通过 Chocolatey 安装它的可选步骤,它将直接添加到 PATH)
2.2 - 安装巧克力
2.3 - 在管理员 powershell 中运行:
choco install pyenv-win
3 - 开始菜单(windows键)->管理应用程序执行别名->禁用与python相关的别名
4 - 通过 pyenv 安装所需的 python 版本:
pyenv install DESIRED VERSION NUMBER
5-运行
pyenv rehash
6 - 将其设置为全局
pyenv global DESIRED VERSION NUMBER
7 - 您可以通过运行命令来看到所需的版本
python -V
在 Windows NT 中,
PATH
变量是系统变量和用户变量的组合结果:
Path由系统路径构造而成,可以在 系统对话框中的系统环境变量字段。这 用户路径附加到系统路径
Shims
PATH
在用户变量中定义,因此请确保您的主机 python 解释器路径未在系统路径中定义
卸载连接到 python 的所有内容(pyenv 除外)并使用 pyenv 仅对我有用。
删除所有未使用 pyenv 安装的 python 版本(例如您的情况下的 3.8.4)。我在 Windows 中使用控制面板。那么你使用 pyenv 设置的全局版本将是真正的全局版本。
要解决 Pyenv 在 Windows 上无法运行的问题(这也适用于其他操作系统;只需将 PowerShell 命令
Get-Command python
替换为相应的 bash(linux、macos)命令 which python
,该命令可标识 Python 可执行文件的位置。),请按照这些步骤可确保 Python 从预期来源运行:
确定当前Python可执行源:
Get-Command python
或 (Get-Command python).Source
。C:\Users\username\AppData\Local\Programs\Python\Python310
或 C:\msys64\mingw64\bin\python.exe
的目录,请继续执行后续步骤。从环境变量中删除冲突的Python源目录:
Win + S
进行搜索。edit environment variables for your account
。Environment Variables...
按钮。Path
变量,然后单击编辑按钮。验证Python命令结果是否出错:
python
。它应该会导致错误,因为冲突的 Python 源目录已被删除。为Pyenv设置环境变量:
Path
环境变量中(将 your_username
替换为您的实际用户名):
C:\Users\your_username\.pyenv\pyenv-win\bin
C:\Users\your_username\.pyenv\pyenv-win\shims
重新打开命令提示符并检查 Pyenv 是否已正确设置:
python
并通过重复步骤 1 验证是否正在使用 Pyenv (Get-Command python
)。结果应显示 Pyenv 路径,例如:
➜ ~ Get-Command python
Source
C:\Users\your_username\.pyenv\pyenv-win\shims\...
按照这些步骤应该有助于解决 Pyenv 无法在 Windows 上运行的问题。