1

Python代码:

"<stdin>"
#!/usr/bin/env
print "Hello world!" 
print "How are you?" 

以上是我应用到脚本上的一些代码,它在 TextWrangler 中运行时可以工作,但是当我将它放在终端中时,它会失败。

为什么会这样?它与我打开文件的方式有关吗?

4

2 回答 2

3

/usr/bin/env不是 Python 的正确路径。shebang 行很可能应该是:

#!/usr/bin/env python

我很确定它必须是第一行,所以"<stdin>"也删除该行(无论如何 Python 都会忽略它)。

还要确保您已在脚本上设置执行权限:chmod +x /path/to/script.py

于 2013-01-23T17:21:40.183 回答
1

以开头的行在Unix#!中称为shebang 行。根据定义,你的 shebang 有两件事是错误的:

  1. sheebang 必须是脚本中的第一行——你在第二行有它。
  2. 如果 Python 是目标解释器,您要么需要 Python 的绝对路径(类似于#!/usr/bin/PythonOR 的参数来执行配置的 Python - 类似于#!/usr/bin/env Python注意实用程序env的参数“Python”)
于 2013-01-23T17:44:19.693 回答