在 CMD 中“python”启动 Python 3.3,“py”启动 Python 2.7,我该如何更改?
Posted
技术标签:
【中文标题】在 CMD 中“python”启动 Python 3.3,“py”启动 Python 2.7,我该如何更改?【英文标题】:In CMD "python" starts Python 3.3, "py" starts Python 2.7, how do I change this? 【发布时间】:2014-02-10 23:49:03 【问题描述】:全新的 Python,在我开始弄乱东西之前,只需设置和安装东西。我的理解是 Python 2.7 和 Python 3.3 之间存在一些显着差异/不兼容性,尽管这两个版本都很好用,所以我认为最好安装 both(在它们自己的安装目录中)。
安装时,我使用了新的 3.3 功能,安装程序为我设置了 PATH 变量,但 2.7 不存在此选项。安装完这两个版本后,我尝试了快速测试,打开命令提示符,然后输入python
以调出交互式会话,正如我所希望的那样,它调出了 python 3.3。
我也知道较短的py
命令。但是,当我在命令提示符下尝试 py
时,它会显示 python 2.7。我可以使用py -3
来调出 3.3,但这使得它比它需要的更长,并且鉴于我将主要处理 3.3 版,我想要py
和 @987654327 @ 两者都会启动 Python 3.3 交互式会话。
我对 Window 的 PATH 系统有些熟悉,但我不明白为什么会这样。如何设置它,以便 both py
和 python
在输入到 Windows 命令提示符时,将启动 Python 3.3 交互式会话,除非另有说明,例如通过py -2
之类的东西?
谢谢。
【问题讨论】:
琐事:默认情况下——如果它没有被环境变量、ini 文件或参数覆盖——Python 启动器将始终首选 Python 2 而不是 Python 3 安装(如果两者都可用)。之所以如此,是因为在源代码中,对版本 2 的检查只是 comes first。 对我来说恰恰相反。py
打开 python 3.8.2 和 python
打开 python 2.7.6
【参考方案1】:
py
是Windows Python launcher,它可以启动任何 Python版本。
在大多数系统上,py
配置为默认启动 Python 2.7(如果存在)(这是默认设置,但 Python 3.6 和更新版本除外,其中将运行 Python 3)。如果你想改变它,你有两个选择:
设置environment variable; PY_PYTHON=3
将使 py
运行最新的 Python 3 解释器。
在您的应用程序目录中创建一个文件py.ini
,内容如下:
[defaults]
python=3
这与PY_PYTHON
环境变量的效果相同。通常,您的应用程序目录位于 C:\Documents and Settings\[username]\Application Data
或 C:\Users\[username]\AppData\Local\py.ini
,具体取决于 Windows 版本。
您还可以在脚本(第一行)中添加 #!
shebang 行,以告诉启动器在双击此类文件时使用 Python 3:
#! python3
py
在安装了多个 Python 3 解释器时也可以配置为使用特定的 Python 版本。
【讨论】:
成功了,谢谢。我使用了第一个选项,因为它看起来“更干净”。 第一行#! python3
对我不起作用,为什么?
@zhangxaochen 这适用于我在 Win7 上:#! /usr/bin/python3
不错的答案。有关详细信息,请参阅 pep-0397、***.com/questions/15912063/… 和 ***.com/a/13533958/1593924
如果我想使用 python
而不是 py
我的 vscode 扩展一直尝试使用 python
并返回 not found【参考方案2】:
“py”是python启动器,你可以通过添加参数-2
或-3
来选择要启动的版本,请参阅下面的帮助说明:
C:\> py -h
Python Launcher for Windows Version 3.3.2150.1013
usage: py [ launcher-arguments ] script [ script-arguments ]
Launcher arguments:
-2 : Launch the latest Python 2.x version
-3 : Launch the latest Python 3.x version
-X.Y : Launch the specified Python version
例如,在我的机器上,py
默认启动 python 2,添加 -3
使其启动 python 3:
C:\> py
Python 2.7.4 |Anaconda 1.5.0 (32-bit)| (default, Apr 9 2013, 12:19:24) [MSC v.1
500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
C:\> py -3
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (In
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
【讨论】:
我不认识这个 +1 伙伴。 我了解如何选择带参数的版本,但目前py
没有参数默认为 2.7 版,就像你的一样,而我希望它默认为 3.3 版,我会最多使用 3.3,py
比py -3
略短。这可能吗?
@user2649607,我想将其设为批处理文件或快捷链接,然后将其固定到任务栏或开始菜单。此外,我想使用autohotkey
将程序的启动绑定到某个热键,这样我就可以通过按ctrl+shift+p
(或任何你喜欢的)来启动它以上是关于在 CMD 中“python”启动 Python 3.3,“py”启动 Python 2.7,我该如何更改?的主要内容,如果未能解决你的问题,请参考以下文章
Python启动Windows cmd(.bat)命令行并kill进程