我在运行 Windows 的机器上同时安装了 Python 2 和 3。
我正在通过 cmd 运行一个程序,它在代码的最顶部有命令 #!python2
,我希望它在 Python2 中运行。
据我了解,第一行的 #!python2
会强制 Python 使用 Python2。相反,它使用 Python3 [因此行 'print helloresults in the error
SyntaxError: Missing parentheses in call to print` ]
最佳答案
在 Windows 上的情况比在 Unix 上复杂一些。
对于 Windows 安装,当您安装 Python 时,安装程序实际上将 Python (.py) 文件与 py.exe
相关联,py.exe
是专门用于在 Windows 上启动 Python 的可执行文件。您可以在 PEP 397 -- Python launcher for Windows 中阅读所有相关信息.
由于 .py 文件与该启动器相关联,因此读取 shebang 行的所有魔法都在 py.exe
中实现。长话短说,您的第一行必须阅读
#!/usr/bin/env python2
为了工作。在 PEP 397 ,请阅读标题为“Python 脚本启动”的部分以获取更多信息。
关于python - 使用 #!python2 无法在 Python 2 下运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34259044/