![](/img/trans.png)
[英]how to run python 3 script on Unix with python 2 installation
[英]Run a UNIX script to use different versions of python
我有一個 UNIX 腳本,用於初始化項目的環境和屬性。 它使用 python。我不得不參考路徑。 這將用作通用文件並在多個開發人員之間使用。 很少有機器使用 Python 1.x 和 2.x。 很少有人只使用 Python 3.x。
所以/usr/bin/python
適用於運行 Python 1.x 的機器,但它在運行 python 3.x 的機器上失敗。 我必須明確地將其更改為/usr/bin/python3
才能使其正常工作。
我該如何處理這種情況才能使腳本獨立於安裝的 python 版本運行。
Python 1 或 2 顯然已經死了,但我會盡量回答你的問題
在這種情況下,每個 python 版本都應該有單獨的二進制文件,類似於:
在您的腳本中使用shebang定義您要使用的版本
例如制作一個文件my_old_script.py
:
#!/usr/bin/python2
import sys
print(sys.version)
給腳本執行權限:
chmod +x my_old_script.py
然后在不指定解釋器的情況下執行它:
./my_old_script.py
output:
2.7.17 (default)
[GCC 7.5.0]
Python2 已經死了(不像 python1 那樣,但仍然死了),所以它應該越來越不是一個問題。 如果您擔心 python2/3 兼容性,有六個,並且大部分內容已通過__future__
模塊向后移植,希望這兩個應該足以滿足您的用例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.