簡體   English   中英

在 setup.py 中強制執行 python 版本

[英]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.pysetup()調用:

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.

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