Linux
使用 ./myscript.py 在 ubuntu 機器上執行 python 腳本
我在 ubuntu 機器上執行一個名為 myscript.py 的 python 腳本。我通常使用 python 命令來執行 python 腳本,如下所示。
python main.py
最近,我從 Github 儲存庫下載了一個 python 腳本(如果需要查看儲存庫,可以在https://github.com/gsrivas4/mnist-gan找到它),它要求使用 ‘./’ 執行腳本,如下所示。
./main.py
第二種方式執行 python 腳本對我來說是新的。我很困惑我們什麼時候可以使用’./‘來執行腳本,這種方法是否也可以執行用於其他語言的腳本。通常,我希望在添加腳本名稱之前啟動一個程序的二進制名稱,例如 python。這個腳本將被提供給程序。另外,我想了解執行腳本時“./”的含義。我覺得這是一個微不足道的問題,但在網上找不到太多幫助。
我還嘗試使我的一個 python 文件可執行,然後執行它。但是,使用 ./ 執行它會給我任何 python 庫導入命令的錯誤。
./
只是一個指示目前工作目錄的相對路徑。執行不在您文件中的文件時,PATH
必須為其添加完整路徑或相對路徑前綴,這./
是最簡單的方法,但如果您使用完整路徑,也可以使用/path/to/script.py
執行 python 腳本時出錯的原因如下:
./script.py
而不是:
python script.py
是因為您在頂部沒有 hashbang(shebang) 解釋器行告訴它在執行腳本時使用哪個解釋器。它可能會嘗試使用 bash 或您用來執行腳本的任何 shell 來執行它。(請參閱哪個 shell 解釋器執行沒有 shebang 的腳本?)
要使用 python 正確執行腳本,請將以下內容添加到腳本的第一行:
#!/usr/bin/env python