如何在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:\Python35
将python.exe
重命名为python3.exe
,也可重命名为C:\Python27
,将python.exe
重命名为python2.exe
。
重新启动您的命令窗口。
在命令行中输入python2 scriptname.py
或python3 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.exe
和 pyw.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.py
。py myscript.py
今天默认使用 Python 3 解释器。
引用我自己的话,“我们可以指定次要”-> 这是可能的,有时甚至是必要的。例如,我自己的配置托管了 3.6 和 3.7 版本,并且我有一个(还没有?)与 3.7 兼容的库。我通过指定兼容的次要版本解决了我的问题。以上是关于如何在cmd中运行不同的python版本[重复]的主要内容,如果未能解决你的问题,请参考以下文章