无法获得基本的Python脚本

时间:2015-08-01 02:52:25

标签: python

这是我第一次尝试让Python脚本工作而没有太多运气。

我有一个名为' alpha_script.py'以下内容:

 #!/usr/bin/env python

print "the script is running now"

位于项目的/ bin文件夹中。

然后我在终端

中运行它
chmod +x alpha_script.py

我点击进入后没有任何反应,不确定这是否正确。 我可以使用普通的Python命令运行该文件,但是当我在终端

中输入它时
./alpha_script.py

它会返回此错误消息

./alpha_script.py: line 4: print: command not found

我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

问题出在你的shebang行 -

 #!/usr/bin/env python
^ Notice the extra space.

线路起点处的额外空间导致问题(没有正确拾取绳子线),移除该空间并且它应该工作。

答案 1 :(得分:1)

这里有四件事要检查。

  1. if (Build.VERSION.SDK_INT>=11) mySettings=context.getSharedPreferences("MyPrefs",Context.MODE_MULTI_PROCESS); else mySettings=context.getSharedPreferences("MyPrefs",0); int netType = mySettings.getBoolean("netType",0); 字面上是文件的开头吗?有没有"隐藏"或#!
  2. 之前的空白字符
  3. 你真的有#!/usr/bin/env python实用程序存在且可执行吗? (你几乎肯定会这样做,它是Linux和其他形式的UNIX的标准。但无论如何都要检查。)
  4. 你有' python'在你的道路上,完全是那个名字?
  5. 您作为/usr/bin/env安装了哪个版本的Python?
  6. 我怀疑你只是在你的" shebang"前面有一些空间或东西。 (#!)标记。这将导致一些shell将整个文件视为shell脚本,并会给出您正在获取的错误消息。

    然而,要学习的更广泛的教训是,我所枚举的这些内容中的每一个都被导入,以便为任何脚本语言运行任何类型的脚本。你必须有一个有效的" shebang" line(意思是#!必须是脚本的第一个字符)...#之后的路径!必须是有效的...如果你正在使用python那么以空格命名的解释器必须是有效的并且在路径上......最后Python从版本2.x(及更早版本)更改为新的3.x( print 不再是一个声明......它现在是一个函数,必须呈现为 print(),其周围有括号参数)。