[英]run a python script in terminal without the python command
我有一個python腳本,我們將它命名為script1.py。 我可以這樣在終端上運行它:
python /path/script1.py
...
但我想像命令行程序一樣運行:
arbitraryname
...
我該怎么做 ?
您在腳本開頭使用shebang行 :
#!/usr/bin/env python
使文件可執行:
chmod +x arbitraryname
並將其放在PATH上的目錄中(可以是符號鏈接):
cd ~/bin/
ln -s ~/some/path/to/myscript/arbitraryname
有三個部分:
您需要在腳本的頂部添加一個shebang,以便shell在解析腳本時知道要使用哪個解釋器。 通常是:
#!path/to/interpretter
要在計算機上查找python解釋器的路徑,可以運行以下命令:
which python
這將搜索您的PATH以查找您的python可執行文件的位置。 它應該以絕對路徑返回,然后您可以使用它來形成您的shebang。 確保你的shebang位於你的python腳本的頂部:
#!/usr/bin/python
您必須使用運行權限標記腳本,以便在嘗試將其用作命令時,shell知道您希望實際執行它。 為此,您可以運行此命令:
chmod +x myscript.py
PATH環境變量是shell在查找您嘗試運行的命令時將搜索的目錄的有序列表。 因此,如果您希望您的python腳本是一個命令,您可以從任何地方運行,那么它需要在您的PATH中。 您可以看到運行該命令的路徑的內容:
echo $PATH
這將打印出一長串文本,其中每個目錄由分號分隔。 每當您想知道從PATH運行的可執行文件的實際位置時,您可以通過運行以下命令找到它:
which <commandname>
現在您有兩個選擇:將腳本添加到PATH中已有的目錄中,或者將新目錄添加到PATH中。 我通常在用戶主目錄中創建一個目錄,然后將其添加到PATH中。 要在路徑中添加內容,可以運行以下命令:
export PATH=/my/directory/with/pythonscript:$PATH
現在你應該可以在任何地方將python腳本作為命令運行。 但! 如果您關閉shell窗口並打開一個新窗口,新窗口將不會記住您剛剛對PATH所做的更改。 因此,如果您希望保存此更改,則需要在.bashrc或.bash_profile底部添加該命令。
script1.py
下行添加到開頭的script1.py
#!/usr/bin/env python
然后使腳本可執行:
$ chmod +x script1.py
如果腳本位於PATH
變量中顯示的目錄中,則只需鍵入即可
$ script1.py
否則,您需要提供完整路徑(絕對路徑或相對路徑)。 這包括當前工作目錄,該目錄不應該在您的PATH
。
$ ./script1.py
你需要使用hashbang 。 將它添加到python腳本的第一行。
#! <full path of python interpreter>
然后更改文件權限,並添加執行權限。
chmod +x <filename>
最后用它來執行它
./<filename>
如果它在當前目錄中,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.