簡體   English   中英

在Unix命令行上執行Python2中的腳本

[英]Execute script in Python2 on Unix Command Line

是的,我知道我能做到

python2 cal.py

我要求的是一種在命令行上執行它的方法,例如:

calpy

然后是命令。 我放入一個路徑,當我在命令行中寫入cal.py時:

/usr/bin/cal.py: line 5: print: command not found

我不想發出cal.py來運行我的腳本,我希望它發布calpy

如果有幫助的話,我正在運行Arch Linux,謝謝。 對不起我的英語不好。

為了讓bash知道通過Python解釋器運行你的腳本,你需要在開始時放置一個合適的shebang 例如:

#!/usr/bin/python

告訴bash以腳本作為第一個參數運行/usr/bin/python 我個人更喜歡

#!/usr/bin/env python

這與virtualenv兼容。 您還需要確保腳本的權限允許它執行:

~$ chmod +x path/to/cal.py

最后,為了調用cal而不是path/to/cal.py ,您需要刪除.py擴展名並確保包含cal的目錄位於命令搜索路徑中。 我更喜歡通過修改~/.bashrc$PATH環境變量來將~/bin添加到搜索路徑中:

export PATH=$HOME/bin:$PATH

然后把我自己的可執行文件放在~/bin 您也可以將(或符號鏈接) cal復制到系統范圍的二進制目錄( /bin/usr/bin )之一,但我認為不必要地弄亂系統范圍的目錄是不好的做法。

好的,你需要一些東西來實現你想要的東西。

首先,您必須告訴您的腳本“如何”執行/解釋它。 你可以寫這個

#/usr/bin/env python

在文件的開始。

您遇到的問題是系統正在嘗試使用bash執行腳本。 在bash中沒有print命令。

其次,您需要為腳本提供執行權限。 當然,如果您想通過命令“calcpy”調用腳本,則必須像這樣調用腳本。

把它(正是這個)作為腳本的第一行:

#!/usr/bin/env python

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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