杰瑞科技汇

Python Launcher如何配置?

Python Launcher (通常称为 py.exe) 是 Windows 系统自带的一个非常有用的命令行工具,从 Python 3.3 版本开始就随 Python 安装包一同提供了,它的主要作用是简化在 Windows 上运行不同版本 Python 脚本的过程。

Python Launcher如何配置?-图1
(图片来源网络,侵删)

Python Launcher 是什么?为什么需要它?

在 Windows 上,你可能会遇到以下情况:

  1. 多版本共存:同时安装了 Python 2.7, Python 3.8, Python 3.9 等多个版本。
  2. 命令行混淆:在命令行中直接输入 python,系统不知道该调用哪个版本(通常是最新安装的那个或通过 py -0 查看到的第一个版本)。
  3. Shebang 问题:在 Linux/Mac 中,脚本文件第一行的 #!/usr/bin/env python3 (Shebang) 可以指定解释器,但 Windows 命令行默认不识别这个。

Python Launcher (py.exe) 就是为了解决这些问题而生的。

  • 统一入口:提供一个统一的 py 命令来管理所有已安装的 Python 版本。
  • 版本选择:通过简单的参数(如 -3, -2)来指定使用哪个 Python 版本运行脚本。
  • 脚本关联:允许你直接双击 .py 文件,并选择用哪个 Python 版本来执行。

如何检查 Python Launcher 是否已安装?

打开命令提示符 或 PowerShell,输入以下命令:

py --version

如果已安装,你会看到类似 Python 3.9.7 的输出,如果提示 'py' 不是内部或外部命令...,说明它没有被添加到系统环境变量 PATH 中,你可以通过重新运行 Python 安装程序,在 "Modify" (修改) -> "Optional Features" (可选功能) 中确保 "py launcher" 被勾选并安装。

Python Launcher如何配置?-图2
(图片来源网络,侵删)

核心命令与用法

查看已安装的 Python 版本

这是使用 Launcher 的第一步,先看看你的系统里有哪些 Python。

# 查看所有已安装的 Python 版本,按优先级排序
py -0P
# 或者简写
py -0

输出示例:

 -3.9-64        * C:\Users\YourUser\AppData\Local\Programs\Python\Python39\python.exe
 -3.8-64        C:\Users\YourUser\AppData\Local\Programs\Python\Python38\python.exe
 -2.7-32        C:\Users\YourUser\AppData\Local\Programs\Python\Python27\python.exe
 -3.10-64       C:\Users\YourUser\AppData\Local\Programs\Python\Python310\python.exe
  • -3.9-64:表示 Python 3.9, 64位版本。
  • 号表示这是默认的 Python 3 版本。
  • -2 表示默认的 Python 2 版本。

指定版本运行脚本

这是 Launcher 最强大的功能。

假设你有一个 hello.py 文件:

Python Launcher如何配置?-图3
(图片来源网络,侵删)
# hello.py
import sys
print(f"Hello from Python {sys.version}")

在命令行中运行:

# 使用默认的 Python 3 版本运行
py hello.py
# 强制使用 Python 3 运行 (会自动选择最新的 3.x 版本)
py -3 hello.py
# 强制使用 Python 2 运行
py -2 hello.py
# 指定使用特定的主版本号,Python 3.9
py -3.9 hello.py
# 指定使用特定的完整版本号,Python 3.9.7
py -3.9-64 hello.py  # 注意这里的版本号要和 py -0 的输出完全一致

交互式环境

你也可以使用 Launcher 启动交互式解释器。

# 启动默认的 Python 3 交互式环境
py
# 启动 Python 3.9 的交互式环境
py -3.9

传递参数

和直接运行 python 一样,你也可以向 py 传递命令行参数。

# 将 "world" 作为参数传递给脚本
py hello.py world

hello.py 中,你可以通过 sys.argv 来获取这个参数:

import sys
print(f"Script name: {sys.argv[0]}")
print(f"Argument 1: {sys.argv[1]}")

配置 Python Launcher

配置主要通过注册表来完成。修改注册表有风险,操作前请务必备份!

打开注册表编辑器:Win + R,输入 regedit,回车。

Python Launcher 的配置主要在以下两个位置:

  1. HKEY_CURRENT_USER\Software\Python\PythonLauncher

    这里的配置只对当前用户生效。

  2. HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonLauncher

    这里的配置对所有用户生效(需要管理员权限)。

常见的配置项:

值名称 数据类型 说明
CommandLine REG_SZ (字符串) 这是最重要的配置项! 定义了 py 命令的默认行为,默认值通常是 ,它会将所有参数原样传递给选定的 Python 解释器。
Debug REG_DWORD (DWORD) 调试标志,设为 1 可以启用更详细的输出,有助于排查问题。
NoConsoles REG_DWORD (DWORD) 设为 1 时,运行脚本将不会创建新的控制台窗口(类似 pythonw.exe 的行为)。
DefaultVersion REG_SZ (字符串) 核心配置项! 指定默认的 Python 版本,如果你想默认使用 Python 3.10,可以将其值设置为 10
DefaultVersion-x86 REG_SZ (字符串) 指定默认的 32 位 Python 版本,设置为 9
DefaultVersion-amd64 REG_SZ (字符串) 指定默认的 64 位 Python 版本,设置为 10

如何修改默认 Python 版本?

假设你希望 py hello.py 默认使用 Python 3.10,而不是 3.9。

  1. 打开注册表编辑器。
  2. 导航到 HKEY_CURRENT_USER\Software\Python\PythonLauncher
  3. 在右侧找到 DefaultVersion 键。
  4. 双击它,将数值数据从 9 修改为 10
  5. 点击“确定”。
  6. 重新打开命令行窗口,然后再次运行 py -0P,你会发现 号已经移动到了 Python 3.10 上。py hello.py 就会默认使用 3.10 了。

高级用法:关联 .py 文件

双击一个 .py 文件时,Windows 会根据文件关联来决定用什么程序打开,Python Launcher 会介入这个过程。

  1. 右键点击 .py 文件 -> 打开方式 -> 选择其他应用
  2. 在列表中找到并选择 "Python Launcher"
  3. 勾选 "始终使用此应用打开 .py 文件"
  4. 点击“确定”。

当你双击任何 .py 文件时,系统会调用 Python Launcher,它会弹出一个窗口,让你选择用哪个已安装的 Python 版本来运行这个脚本。

常见问题与最佳实践

问题:py 命令找不到,但 Python 已经安装了。 解决方案: Python 安装时可能没有将 py.exe 所在的目录添加到系统 PATH 环境变量中。

  1. 找到你的 Python 安装目录(C:\Users\YourUser\AppData\Local\Programs\Python\Python39\)。
  2. 将该目录添加到系统的 PATH 环境变量中。

最佳实践:

  1. 为项目指定版本:在项目的 README.md 或文档中,明确说明需要使用 py -3.9 来运行项目脚本,而不是 python,这样可以避免因开发者环境 Python 版本不同而导致的 "在我机器上能跑" 问题。
  2. 使用虚拟环境:这是现代 Python 开发的标准做法,在虚拟环境中,python 命令会指向该环境特定的 Python 版本,py 命令主要用于全局管理或启动虚拟环境。py -3.9 -m venv myenv 可以用 Python 3.9 创建一个虚拟环境。
  3. 保持 PATH 干净:如果你主要使用 py 命令,可以考虑将 Python 安装目录(如 ...\Python39\...\Python39\Scripts\)从系统 PATH 中移除,只保留 py.exe 的路径,这样可以避免 python 命令的版本混淆问题。
功能 命令 说明
查看版本 py -0 列出所有已安装的 Python 版本
默认运行 py script.py 使用默认 Python 版本运行脚本
指定版本 py -3 script.py 使用最新的 Python 3 版本运行
py -3.9 script.py 使用特定的 Python 3.9 版本运行
交互模式 py 启动默认 Python 的交互式环境
配置默认 修改注册表 DefaultVersion 设置 py 命令默认调用的 Python 版本

掌握 Python Launcher 能让你在 Windows 上的 Python 开发体验更加顺畅和专业,它是一个小工具,但能解决大问题。

分享:
扫描分享到社交APP
上一篇
下一篇