簡體   English   中英

運行 UNIX 腳本以使用不同版本的 python

[英]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 版本都應該有單獨的二進制文件,類似於:

  • /usr/bin/python1
  • /usr/bin/python2
  • /usr/bin/python3

在您的腳本中使用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.

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