簡體   English   中英

在沒有python命令的情況下在終端中運行python腳本

[英]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

有三個部分:

  1. 在腳本頂部添加一個“shebang”,告訴您如何執行腳本
  2. 授予腳本“運行”權限。
  3. 在PATH中創建腳本,以便可以從任何地方運行它。

添加一個shebang

您需要在腳本的頂部添加一個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM