如何在cmd中运行不同的python版本[重复]

Posted

技术标签:

【中文标题】如何在cmd中运行不同的python版本[重复]【英文标题】:How to run different python versions in cmd [duplicate] 【发布时间】:2014-01-14 04:57:26 【问题描述】:

如何配置 windows 命令对话框以在其中运行不同的 python 版本?例如,当我输入python2 时,它运行python 2.7,当我输入python3 时,它运行python 3.3?我知道如何为一个版本配置环境变量,但两个?我的意思是类似于 Linux 终端。

【问题讨论】:

【参考方案1】:

我还遇到了在我的 Windows 机器上同时使用 python2 和 python3 的案例。以下是我的解决方法:

    下载python2x和python3x,安装。 将C:\Python35;C:\Python35\Scripts;C:\Python27;C:\Python27\Scripts 添加到环境变量PATH。 转至C:\Python35python.exe 重命名为python3.exe,也可重命名为C:\Python27,将python.exe 重命名为python2.exe。 重新启动您的命令窗口。 在命令行中输入python2 scriptname.pypython3 scriptname.py切换你喜欢的版本。

【讨论】:

您将所有 Python 路径添加到哪个环境变量中?至于重命名python.exe 文件,这样做对进行小升级时有何影响,比如从版本 2.7.x 到 2.7.x+y,通常两者都位于同一 C:\Python27 目录中? 如果我想执行类似“pytest file.py”的东西怎么办?它不像“python2 pytest file.py”【参考方案2】:

我建议使用 Python 3.3 中引入的 Python Launcher for Windows 实用程序。可以直接从作者website手动下载安装,用于Python 2和3的早期版本。

无论您如何获得它,安装后它都会与所有标准 Python 文件扩展名(即.py,.pyw.pyc.pyo 文件)相关联。您不仅可以在命令提示符处显式控制使用哪个版本,还可以通过在 Python 脚本的开头添加 Linux/Unix-y shebang #!/usr/bin/env pythonX cmets 来逐个脚本控制。

【讨论】:

+1 表示速度更快并包含链接。 太棒了,太棒了,太棒了!!【参考方案3】:

Python 3.3 引入了适用于 Windows 的 Python Launcher,它由安装程序以 py.exepyw.exe 的形式安装到 c:\Windows\ 中。安装程序还会创建与.py.pyw 的关联。然后添加#!python3#!python2 作为第一行。无需向PATH 环境变量添加任何内容。

更新:只需从官方python.org/download 安装 Python 3.3。它还将添加启动器。然后将第一行添加到具有.py 扩展名的脚本中。然后,您只需在 cmd 行输入 scriptname.py 即可启动脚本,更明确的是 py scriptname.py,也可以双击 scipt 图标。

py.exe 查找C:\PythonXX\python.exe,其中XX 与计算机上安装的Python 版本相关。假设您将 Python 2.7.6 安装到 C:\Python27,并将 Python 3.3.3 安装到 C:\Python33。 Python 启动器将使用脚本中的第一行来选择一个已安装的版本。默认(即不明确告知版本)是使用计算机上可用的最高版本的 Python 2。

【讨论】:

请多解释,我听不懂你说的! 您可以随时将您的C:\Python33\python.exe 重命名为C:\Python33\python3.exe。但是,最好明确使用py -3 scriptname.py。最好将信息放入脚本中,然后以统一的方式启动任一版本的脚本。 @BlackJack:我明白了。无论如何,您可以创建一个名为python3.exe 的新副本。但是,使用 Windows 的 Python Launcher 更好,没有必要做这些事情。 @ConradB 好的。但问题是如何在cmd 中运行不同的 Python 版本。当使用 Windows 的 Python Launcher 时,Python 根本不在路径中——不在系统中,也不在用户路径中。那是因为 py.exe 在c:\Windows 中。如果您不想修改脚本,您可以随时为 Python 3 调用 py -3 myscript.py 或为 Python 2 调用 py -2 myscript.pypy myscript.py 今天默认使用 Python 3 解释器。 引用我自己的话,“我们可以指定次要”-> 这是可能的,有时甚至是必要的。例如,我自己的配置托管了 3.6 和 3.7 版本,并且我有一个(还没有?)与 3.7 兼容的库。我通过指定兼容的次要版本解决了我的问题。

以上是关于如何在cmd中运行不同的python版本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何为两个不同的帐户使用cmd命令[重复]

Python无法在cmd中运行,如何解决

在cmd中运行Python [重复]

Python不会在bash中运行,但会在cmd中运行[重复]

如何在windows cmd下运行python

在cmd中运行python程序报错no such file or direactory