假設您編寫了一個Python shell腳本。它可能會像這樣的東西開始:在Python腳本中調用系統的Python或virtualenv的Python
#!/usr/bin/python
的問題是,如果你經常使用virtualenv
工作這一呼籲是完全錯誤的。實際上你會希望這個腳本調用virtualenv的python二進制文件,如果它在這個環境中,並且其他的話。就像你的shell將會決定,當你將python
寫入shell命令。
你會如何編寫你的#!
行來滿足這個要求?
假設您編寫了一個Python shell腳本。它可能會像這樣的東西開始:在Python腳本中調用系統的Python或virtualenv的Python
#!/usr/bin/python
的問題是,如果你經常使用virtualenv
工作這一呼籲是完全錯誤的。實際上你會希望這個腳本調用virtualenv的python二進制文件,如果它在這個環境中,並且其他的話。就像你的shell將會決定,當你將python
寫入shell命令。
你會如何編寫你的#!
行來滿足這個要求?
改爲使用#!/usr/bin/env python
。
env
command在當前的PATH
中查找二進制文件;激活您的虛擬環境會將您的virtualenv bin/
目錄添加到路徑中,並且env
將會找到您的python二進制文件而不是全局python。
嘗試:
#!/usr/bin/env python
...