Python路径优先级问题解决方案核心原因
核心原因PATH 环境变量的「从上到下检索规则」where python的输出顺序就是系统在 PATH 中查找python.exe的优先级顺序—— 系统会从第一条路径开始找找到第一个匹配的python.exe就会停止检索这个版本就会成为你输入python时的默认版本。你当前的输出里第一条是Python311的路径因此python --version显示 3.11.9这是 Windows 系统的正常机制不是异常。为什么 Anaconda 的 Python 排在第三位你的系统 PATH 中Python 3.11、Python 3.13 的路径排在 Anaconda 路径的前面因此优先级更高。常见原因有两个系统变量 用户变量的优先级规则Windows 的完整 PATH 「系统变量的 Path」 「用户变量的 Path」。如果你把 Anaconda 的路径加到了用户变量的 Path 里而 Python 3.11/3.13 的路径在系统变量的 Path 里那么系统永远会先找到系统变量里的 Python你在用户变量里上移顺序是无效的。同级别 Path 中顺序靠后如果 Anaconda 和 Python 3.11 都在系统变量的 Path 里说明你之前的上移操作没有把 Anaconda 的两条路径移到最顶端Python 3.11 的路径仍然在更靠前的位置。两种解决办法方法 1让 Anaconda 成为全局默认版本修改系统 PATH 顺序如果你希望输入python就默认调用 Anaconda按以下步骤操作右键「此电脑」→「属性」→「高级系统设置」→「环境变量」在系统变量列表中找到Path双击编辑找到下面两条路径通过「上移」按钮把它们移到列表最顶部Plain Textd:\anacondad:\anaconda\Scripts依次点击所有窗口的「确定」保存关闭所有已打开的 CMD / 终端重新打开一个全新的窗口再次验证cmdwhere pythonpython --version此时第一条路径会变成d:\anaconda\python.exe默认版本也会同步更新。方法 2不修改全局按需切换版本更推荐不污染环境不需要调整 PATH 顺序通过命令直接指定使用哪个版本调用系统 Python 3.11py -3.11调用系统 Python 3.13py -3.13激活 Anaconda 基础环境cmdconda activate base激活后当前终端内的python、pip都会自动指向 Anaconda。补充提醒where python能列出所有系统可识别的 Python说明你的路径配置本身是正确的只是优先级问题。如果只是做项目开发更推荐用「激活环境 python -m pip」的方式不建议频繁修改系统 PATH 的全局顺序避免影响其他依赖 Python 的系统软件。