Python封装.指定多个版本后的python版本要求



我在pypi上发布了一个软件包,版本为3.0.0。

setup.py从未提及python_requires指令。

在2.5.0版本中,有一个更改使包与python 2不兼容,直到现在都没有被注意到。

自2.5.0以来,pypi上发布了大量软件包。

现在,如果我想使用python2-pip安装软件包,我会安装最新的3.0.0版本,但它不起作用。

我需要pip来安装2.4.0版本,它没有兼容性问题。但我究竟该如何做到这一点呢?(事先不知道pip安装包==2.4.0-类似于使用pip的回溯机制(

如果我在3.1.0版本中指定指令python_requires=">=3.6",pip将回溯到3.0.0版本安装包,这将不起作用。

我能想到:

  1. cx_Oracle方式。如果最低版本与安装要求不匹配,则在setup.py中引发异常,并指定如何安装正确的版本。

  2. 创建2个新版本。一个是2.4.0版本,基本上为3.1.0,带有python_requires=">=2.7,<3.6",另一个是3.0.0版本,带有python_requires=">=3.6",版本为3.1.1

有更好的方法吗?

PyPI上有一个相对较新的功能:;"猛拉";与Python 2不兼容但未在元数据中正确指定的版本。

yanked发行版是安装程序始终忽略的发行版,除非它是唯一与版本说明符匹配的发行版(使用=====(。

参见PEP 592-添加";Yank"支持Simple API以获取更多信息。事实上,您所描述的是政治公众人物动机部分所描述的主要场景。

最新更新