我一直在使用Python并创建了一些程序,我只是用Raspian Jessie设置了第三个Raspberry Pi。在另外两个Pis我没遇到过问题,但在这个问题上,我无法让我的Python脚本以同样的方式执行。
该文件的第一行有shebang:
#!/usr/bin/env python
我git克隆了回购并转到目录并做了:
chmod +x script.py
但是当我尝试./script.py
时它不起作用。从桌面询问是否应该执行该文件,当我选择在终端执行时它会关闭而不执行。我尝试将script.py放在
/usr/local/bin
但这没有效果。如果我这样做:
python script.py
它工作正常。
Pis的唯一区别是前两个是无头的,而这个新的有Pixel桌面环境。
答案 0 :(得分:3)
您可能已在Windows PC上创建该文件,并使用DOS-style line endings保存该文件。 linux shell(bash)并不喜欢这样,并且在尝试执行脚本文件时会感到困惑。
尝试将文件转换为UNIX行结尾:
dos2unix script.py
您可能需要apt-get install dos2unix
。
作为提示,您可以在Windows中使用支持/保存为UNIX样式行结尾的编辑器/ IDE来避免这种情况。