首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用#!python2无法在Python2下运行

使用#!python2无法在Python2下运行
EN

Stack Overflow用户
提问于 2015-12-14 02:50:21
回答 2查看 1.3K关注 0票数 3

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

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

我的理解是,第一行中的#!python2将强制Python使用Python2。相反,它使用Python3,因此行“在调用print时打印Python3缺失括号”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-14 02:55:49

这个故事在Windows上比在Unix上要复杂一些。

对于Windows,在安装Python时,安装程序实际上将Python (.py)文件与py.exe (一种专门为在Windows上启动Python而制作的可执行文件)关联起来。您可以在PEP 397 --用于Windows的Python启动程序中阅读有关它的所有内容。

因为.py文件与启动程序相关联,所以读取shebang行的所有魔力都是在py.exe中实现的。长话短说,你的第一行必须读

代码语言:javascript
复制
#!/usr/bin/env python2

为了工作。在佩普397中,请阅读标题为"Python启动“的部分,以获得更多信息。

票数 3
EN

Stack Overflow用户

发布于 2015-12-14 02:51:26

通常,散列需要一个完整的路径,例如:

代码语言:javascript
复制
#!/usr/bin/python

如果您已经安装了这样一个可执行文件,在您的路径中有一个名为python2的可执行文件,您可以通过执行以下命令找到它的完整路径:

代码语言:javascript
复制
which python2

然后在谢邦中使用该命令的输出。

当然,通过显式地指定脚本,您可以使用您想要的任何python版本来运行脚本:

代码语言:javascript
复制
python2 your_script.py

以这种方式运行,shebang将被完全忽略,python2将执行脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34259044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档