Windows 11下Pyenv版本切换异常的解决办法
遇到这种情况我太懂有多闹心了!之前折腾pyenv-win的时候也踩过这个一模一样的坑,下面几个亲测有效的步骤应该能帮你快速搞定:
先把环境变量的优先级拉满
右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,找到系统变量里的Path列表。你得把%USERPROFILE%\.pyenv\pyenv-win\shims这一项拖到最顶部——要是它在其他Python安装路径(比如C:\Python310这类)的后面,Windows会直接跳过pyenv,优先调用前面的旧版本Python。调整完记得一路点「确定」保存所有设置。一定要重启所有终端窗口!
这步真的是最容易被忽略的关键点!环境变量修改后,已经打开的CMD、PowerShell或者任何终端都不会自动刷新配置,必须把所有相关窗口全关掉,重新开一个干净的终端再输入python --version试试。重新生成pyenv的快捷入口(shim)
有时候shim文件会因为版本更新或者配置变动出问题,在新打开的终端里运行这条命令:pyenv rehash它会重新生成所有已安装Python版本的快捷入口,确保pyenv能正确指向你要的3.11.9版本。
检查本地目录的版本覆盖设置
看看你当前终端所在的工作目录下,有没有一个叫.python-version的隐藏文件。pyenv有个规则:如果当前目录有这个文件,会优先用文件里指定的版本,直接覆盖全局设置。要是有的话,要么删掉它,要么用记事本打开把内容改成3.11.9就行。验证路径指向是否正确
最后可以跑一遍where python命令,看看输出的第一个路径是不是C:\Users\WORK\.pyenv\pyenv-win\shims\python.exe。如果第一个是其他Python的安装路径,说明环境变量还是没调好;要是指向shims目录下的文件,那再测一遍python --version应该就显示3.11.9了。
内容来源于stack exchange

