【问题标题】:I run Python in TextWrangler and it works fine but on Mac Terminal it doesn't我在 TextWrangler 中运行 Python,它工作正常,但在 Mac 终端上却不行
【发布时间】:2013-01-23 17:15:42
【问题描述】:

Python 代码:

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

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

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

【问题讨论】:

  • "" #!/usr/bin/env print "Hello world!"打印“你好吗?”
  • 如果你的 shell 用户路径是 Python 的一部分吗?输入echo $PATH 并查看它是否存在。如果没有,您可能需要调整您的 .profile 或等效的 .bash_profile

标签: python terminal textwrangler


【解决方案1】:

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

#!/usr/bin/env python

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

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

【讨论】:

  • 当他用块格式化编码时,它损坏了。我以正确的格式进行了编辑,但尚未更新。第二行(共 4 行)为 #!/usr/bin/env
【解决方案2】:

#! 开头的行在Unix 中称为shebang line。根据定义,你的 shebang 有两个问题:

  1. sheebang 必须是脚本中的第一行 -- 您在第二行有它。
  2. 如果 Python 是目标解释器,您需要 Python 的绝对路径(类似于 #!/usr/bin/Python 或 env 的参数来执行配置的 Python - 类似于 #!/usr/bin/env Python 的参数请注意实用程序的参数“Python” env

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    相关资源
    最近更新 更多