我正在运行 Windows,当您在命令行上运行程序时,shell/OS 会根据注册表设置自动运行 Python。如果我在同一台机器上安装 2.x 和 3.x 版本的 Python,这会中断吗?
我想玩 Python 3,同时仍然能够在同一台机器上运行 2.x 脚本。
原文由 minty 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在运行 Windows,当您在命令行上运行程序时,shell/OS 会根据注册表设置自动运行 Python。如果我在同一台机器上安装 2.x 和 3.x 版本的 Python,这会中断吗?
我想玩 Python 3,同时仍然能够在同一台机器上运行 2.x 脚本。
原文由 minty 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
共存的官方解决方案似乎是 Python Launcher for Windows ,PEP 397,它包含在 Python 3.3.0 中。 Installing the release
py.exe
andpyw.exe
launchers into%SYSTEMROOT%
(C:\Windows
) which is then associated withpy
andpyw
脚本,分别。为了使用新的启动器(无需手动设置您自己的关联),请启用“注册扩展”选项。我不太清楚为什么,但在我的机器上它保留了 Py 2.7 作为“默认”(启动器)。
通过直接从命令行调用它们来运行脚本将通过启动器路由它们并解析 shebang(如果存在)。您还可以显式调用启动器并使用开关:
py -3 mypy2script.py
。各种各样的 shebang 似乎都有效
#!C:\Python33\python.exe
#!python3
#!/usr/bin/env python3
以及肆意虐待
#! notepad.exe