2017-02-10 228 views
2

我一直在使用Python一段时间,并创建了一些程序,我只是用Raspian Jessie设置了第三个Raspberry Pi。在另外两个Pis中,我没有遇到问题,但在这个问题上,我无法让我的Python脚本以相同的方式执行。执行python脚本

文件的第一行的家当:

#!/usr/bin/env python 

我GIT克隆回购,并到目录和做的:

chmod +x script.py 

,但是当我尝试./script.py它不工作。在桌面上,它询问是否应该执行该文件,以及在终端中选择执行时它将关闭并不执行。我试过把script.py放在

/usr/local/bin 

但是没有效果。如果我这样做:

python script.py 

它工作正常。

Pis的唯一区别是前两个是无头的,而这个新的有Pixel桌面环境。

+0

如果你在终端运行'/ usr/bin/env python -V',你会看到什么? –

+0

我看到 Python 2.7.9 – Scalextrix

+0

那么,这意味着'env'正确定位了你的'python'可执行文件。 –

回答

3

您可能在Windows PC上创建了该文件,并将其保存为DOS-style line endings。 linux shell(bash)不喜欢它,并在尝试执行脚本文件时感到困惑。

尝试将文件转换为Unix行结尾:

dos2unix script.py 

你可能需要做apt-get install dos2unix。作为提示,您可以在Windows中使用支持/保存为UNIX样式行尾的编辑器/ IDE以避免这种情况。