Windows下的Python启动器:py

经常看到使用py -m pip <pip arguments>来使用pip的相关命令,例如,查看pip的版本:
在这里插入图片描述

那么,这个py是什么呢?
它是windows下的python启动器(Python Launcher for Windows):https://docs.python.org/3/using/windows.html#launcher

Windows Python启动器是一个实用工具,它帮助定位和执行不同的Python版本。它允许脚本(或命令行)指定偏好的特定Python版本,并会定位并执行该版本。

与PATH变量不同,Windows Python启动器会正确选择最合适的Python版本。它会优先选择用户级别的安装而不是系统范围内的安装,并且根据语言版本进行排序,而不是使用最近安装的版本。

从命令行启动py

Python 3.3及更高版本的系统级安装会将启动器添加到您的PATH中。这个启动器兼容所有可用的Python版本,所以无论安装了哪个版本都没关系。要检查启动器是否可用,请在命令提示符中执行以下命令:

py

在这里插入图片描述

从上面可以发现,安装的最新版本的Python已经被启动了。它可以像平常一样退出,任何额外的命令行参数都会被直接传递给Python。

执行 where py 可以看到py命令的路径:
在这里插入图片描述

py --list:显示当前安装的python版本

例如:
在这里插入图片描述

在虚拟环境中启动py

如果运行启动器时没有明确指定Python版本,并且当前激活了一个虚拟环境(无论是使用标准库的venv模块还是外部的virtualenv工具创建的),那么启动器将运行虚拟环境中的解释器,而不是全局解释器。要运行全局解释器,要么停用虚拟环境,要么显式指定全局Python版本。

例如,我安装了一个python虚拟环境common-practice,已经启动:
在这里插入图片描述

虚拟环境中运行py命令:
在这里插入图片描述

用dry run判断py实际调用的命令

如果设置了环境变量 PYLAUNCHER_DRYRUN(可以是任何值),启动器将输出它将要运行的命令,但不会实际启动 Python。

例如,我在python虚拟环境中设置了 PYLAUNCHER_DRYRUN的值:
在这里插入图片描述

然后运行py test.py:
在这里插入图片描述

从上面输出可以看到,py实际会调用虚拟环境下的python.exe来执行test.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值