Skip to main content
 首页 » 编程设计

python之如果我安装了 2 个 python 版本,如何在命令提示符下更改 python 版本

2025年05月04日15txw1958

我已经在我的系统中安装了 Anaconda 2 & 3。 Anaconda 2 包含 python 2.7 & Anaconda 3 包含 python 3.6。

我需要使用命令提示符运行我的 python 代码,我需要使用 python 3.6 当我运行 python --version 时,我得到了 python 2.7.14。如何将其更改为 python 3.6?

请您参考如下方法:


如您所见,我同时安装了 Python2 和 Python3。


我希望您知道必须将 python 可执行文件的路径添加到 Windows 中的 PATH 环境变量中。可以看到,在我的系统中,Python2的路径放在了Python3的路径之上。

cmd是如何运行命令的?
它在打开 cmd 的目录中搜索具有相同名称的可执行文件,然后在 Windows PATH 变量提供的位置(从 TOP 到 BOTTOM)中搜索命令。 这意味着,它先获得 Python2 的路径,然后才能到达 Python3 的路径。因此,每次您在 cmd 中键入 python 时,它都会运行 Python2。
Python2 和 Python3 可执行文件在 Windows 中具有相同的名称,因此它永远不会运行 python3。

什么是显而易见的解决方案?
您可能会想,将 Python3 可执行文件的 python.exe 的名称更改为 python3.exe 将解决您的问题。你部分正确,它会起作用。但是你必须使用python3 file.py或者python3 --version,我认为这是可以理解的。但是,如果更改原始 python 可执行文件的名称,pip 将不再起作用。您将无法再安装外部包和模块。

如何解决这个问题?
您可以为名为 python3.bat 的 Python3 可执行文件创建一个别名。
.exe 和 .bat 文件可以直接从 cmd 调用,无需使用它们的扩展名。我们总是写 python filename.py 而不是 python.exe filename.py 尽管两者都是正确的。 .bat 文件也可以这样做。
回到第一张图片,注意 python.exe 下面的 python3.bat 文件。这是我在不重命名原始 python 可执行文件的情况下调用 python3 的方式。

python3.bat
使用记事本或其他工具创建一个新文件并粘贴此 %~dp0python %*
除了 dp0 基本上从同一目录内运行 python 并且 %* 将所有参数传递给 python 可执行文件外,我不完全理解这是如何工作的。将此文件放在您的 Python3 安装目录中,您的问题有望得到解决。


python3 基本上运行您的 python3.bat 文件,该文件又运行其文件夹中的 python.exe 并将参数传递给它。

希望这能解决您的问题。