2017-02-10 227 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以避免這種情況。