[英]Enforcing python version in setup.py
目前,我們正在通過在install_requires
屬性下的setup.py
提及它們的版本和依賴項來在系統上設置\\安裝一些軟件包。 我們的系統需要 Python 2.7。 有時,用戶在他們的系統上有多個版本的 Python,比如 2.6.x 和 2.7,它說有些包已經可用,但實際上在 2.6 站點包列表下可用的系統上。 還有一些用戶只有 2.6,如何從setup.py
強制執行,或者有沒有其他方法可以說只有 Python 2.7 並且我們希望setup.py
更新的所有包都只有 2.7。 我們需要機器上的最低 2.7 來運行我們的代碼。
謝謝! 桑托什
當前的最佳實踐(截至 2018 年 3 月撰寫本文時)是將python_requires
參數直接添加到setup.py
的setup()
調用:
from setuptools import setup
[...]
setup(name="my_package_name",
python_requires='>3.5.2',
[...]
請注意,這需要 setuptools>=24.2.0 和 pip>=9.0.0; 有關更多信息, 請參閱文檔。
由於setup.py
文件是通過pip
安裝的(並且pip
本身由 python 解釋器運行),因此無法在setup.py
文件中指定要使用的 Python 版本。
而是查看setup.py 的這個答案:限制 python 解釋器的允許版本,它具有停止安裝的基本解決方法。
在您的情況下,代碼將是:
import sys
if sys.version_info < (2,7):
sys.exit('Sorry, Python < 2.7 is not supported')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.