Python 頭部 #!/usr/bin/python 和 #!/usr/bin/env 的區別


大部分python文件的頭部都會寫上 #!/usr/bin/python 或者 #!/usr/bin/env ,這個語句主要和運行模式有關,

如果我們用普通運行模式例如(linux) : python *.py 那么這個語句在此運行模式下無效。如果想讓python程序像普通程序一樣運行,例如:./*.py (文件要有可執行權限chmod a+x *.py),這個語句就起作用了,他用來為腳本語言指定解釋器,通常認為用 #!/usr/bin/env python 要比 #!/usr/bin/python 更好,因為 python 解釋器有時並不安裝在默認路徑,例如在虛擬環境中。

解釋:

#!/usr/bin/env python
這種寫法在你機器上安裝了多個版本的python的時候有意義,這樣聲明的時候,會去取你機器的 PATH 中指定的第一個 python 來執行你的腳本。如果這時候你又配置了虛擬環境的話,那么這樣寫可以保證腳本會使用你虛擬環境中的 python 來執行。
#!/usr/bin/python
表示寫死了就是要 /usr/bin/python 這個目錄下 python 來執行你的腳本。這樣寫程序的可移植性就差了,如果此路徑下python命令不存在就會報錯。

所以一般情況還是用第一種寫法。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM