pyenv-win设置本地Python版本未覆盖系统版本问题求助
问题分析与解决
核心原因
从where python的输出能直接定位问题:pyenv-win的shims目录在系统环境变量PATH中的位置太靠后。Windows执行命令时,会按PATH里的路径顺序依次查找可执行文件,你的结果里C:\tools\msys64\mingw64\bin和C:\Program Files\Python312排在shims目录前面,所以优先调用了系统/msys的Python版本,而非pyenv-win管理的2.6版本。
解决步骤
调整PATH变量顺序
- 打开「系统属性」→「高级」→「环境变量」
- 在「用户变量」或「系统变量」中找到
Path变量 - 将
C:\Users\<userName>\.pyenv\pyenv-win\shims移到最顶部 - 点击「确定」保存设置
刷新环境变量或重启终端
- 若使用CMD,执行
refreshenv命令刷新环境变量 - 若使用PowerShell,直接关闭并重新打开终端(或执行
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")强制刷新)
- 若使用CMD,执行
验证修复效果
- 返回项目目录,执行
where python,确认输出第一行是C:\Users\<userName>\.pyenv\pyenv-win\shims\python(或.bat) - 再执行
python --version,此时应该显示Python 2.6.x版本
- 返回项目目录,执行
额外说明
通过Chocolatey安装pyenv-win时,程序通常会自动将shims目录加入PATH,但如果系统已有其他Python路径,可能会导致shims目录顺序靠后,手动调整即可解决。
内容的提问来源于stack exchange,提问作者Foad S. Farimani
相关产品推荐
相关产品推荐

