You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11下多版本Python运行异常问题求助

在Windows 11中让Python shebang行双击生效的解决方案

问题根源

Windows系统本身不原生解析shebang行,之前Windows 10能生效是因为依赖了Python官方的py.exe启动器,而你的Windows 11环境中,.py文件的默认关联可能绑定到了Python 2.7的可执行文件,导致忽略shebang直接用Python 2运行所有脚本。

解决步骤

1. 确认Python Launcher(py.exe)已安装

Python 3.10安装时默认会附带py.exe,路径通常是C:\Windows\py.exe。如果找不到这个文件,重新安装Python 3.10,务必勾选:

  • Add Python to PATH
  • Install launcher for all users

2. 重新关联.py文件到py.exe

图形界面操作:

  • 右键任意.py文件 → 选择「打开方式」→「选择另一个应用」→「更多应用」→ 找到「Python Launcher」(对应py.exe),勾选「始终使用此应用打开.py文件」。

命令行操作(管理员权限):

打开命令提示符(右键以管理员身份运行),执行以下命令:

assoc .py=Python.File
ftype Python.File="C:\Windows\py.exe" "%1" %*

3. 确保shebang行格式正确

shebang行必须是脚本的第一行,格式如下:

  • 指定Python 2:#!python2 或 #!/usr/bin/env python2
  • 指定Python 3:#!python3 或 #!/usr/bin/env python3

4. 验证设置

创建两个测试脚本验证:
test2.py:

#!python2
import sys
print("Running Python version:", sys.version)
input("Press Enter to exit...")

test3.py:

#!python3
import sys
print("Running Python version:", sys.version)
input("Press Enter to exit...")

双击这两个文件,应该分别启动Python 2.7和Python 3.10并输出对应版本信息。

补充说明

如果之前手动将.py文件关联到了python2.exe或python.exe,必须改回py.exe——只有py.exe会读取shebang行并自动选择对应的Python版本,直接绑定到具体版本的可执行文件会忽略shebang设置。

内容的提问来源于stack exchange,提问作者Richard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:35:23