python - 使用 #!python2 无法在 Python 2 下运行

标签 python python-2.7 python-3.x

我在运行 Windows 的机器上同时安装了 Python 2 和 3。

我正在通过 cmd 运行一个程序,它在代码的最顶部有命令 #!python2,我希望它在 Python2 中运行。

据我了解,第一行的 #!python2 会强制 Python 使用 Python2。相反,它使用 Python3 [因此行 'print helloresults in the errorSyntaxError: 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/

相关文章:

python - 当值不满足任何边界时如何在 pandas.cut() 上给出标签

python - 为什么我的带连字符的正则表达式不起作用?

python - 使用 Python 编写文本包装的 Excel 文件

Python:构建后出现 CX_Freeze 问题

python - 在 Python 中用任意值替换命名的捕获组

python - 从 DynamoDB 获取项目时出现 "The provided key element does not match the schema"错误

python - Tkinter - 使用按键绑定(bind)调用函数会添加变量

python - 如何使用附加过滤的相关对象作为 Django 中的字段来获取结果?

python-3.x - 如何使用tkinter调整图像大小?

python - 无法看到在 celery-rabbitMQ 组合中执行的任务的输出消息