我在企業UNIX SUSE電腦我的用戶目錄(沒有sudo的特權)有一個自行安裝的Python:與家當路徑可執行.py文件
which python <user>/bin/python/Python-3.6.1/python
我有一個運行(chmod 777)sample.py文件與該線在該文件的頂部:
#!<user>/bin/python/Python-3.6.1/python
我可以執行該文件是這樣的:
python sample.py
但是當我通過自身運行它,我得到一個錯誤:
/full/path/sample.py /full/path/sample.py: Command not found
我不知道爲什麼它不工作。由於文件是可執行文件,python路徑是正確的,並且如果我在前面放置python命令,該文件會執行,所以我被解散爲可能會出錯的文件。我錯過了什麼?
編輯: 我試圖把這個在文件的頂部:
#!/usr/bin/env python
現在,我得到這個錯誤:
: No such file or directory
我嘗試這樣做,以確保我的ENV是正確的
which env /usr/bin/env
EDIT2: 是的,我可以用家當命令像這樣運行腳本罰款: <user>/bin/python/Python-3.6.1/python /full/path/sample.py
不是問題的解決方案,但'chmod 777'(幾乎)從來都不是正確的做法。只設置您實際需要的權限。在這種情況下,最有可能的是'755'(你可以讀/寫/執行,其他人可以讀/執行) – viraptor
你是否檢查過可以使用你提供的路徑運行腳本?而不是'python sample.py',你可以運行'/ the/full/path/from/shbang sample.py'嗎?如果是,那麼問題可能與第一行的格式有關。如果不是,那麼你要麼指向錯誤的python二進制文件,要麼python安裝被破壞。 – viraptor
@viraptor,是的,我可以使用shebang的路徑運行腳本,我也將它添加到上面的編輯中。格式是正確的,我仔細檢查,並且python安裝不能被破壞,因爲我可以使用'python'命令和'/ path/from/shebang /'命令運行腳本。 – rrlamichhane