当前的Python项目是否应该在`python_requires`(setup.py)中列出`<4`?

问题描述 投票:0回答:2

我在一些项目中制作了couple of PRs,我参与了将python_requires添加到他们的setup.py(根据packaging.python.org/guides/dropping-older-python-versions/)。

提出的一个问题是,在这个陈述中是否包含<4是一个好主意。

一方面,无法保证代码在Python 4出现时可能会起作用(可能在未来的几年),但也许它也是过度指定的,最好是在Py4实际上是一个东西时被省略并加入甚至被考虑?

我试过搜索这个(包括SO :)),但我没有得到任何好结果。是否有邮件列表线程或我没有找到的讨论最佳实践的东西? sampleproject包括<4,但似乎没有在the related PR中实际讨论这个问题,packaging.python.org documentation for setup_requires有和没有<4的例子,但没有真正描述(据我所知)何时加入或不包括。

python setup.py pypi
2个回答
0
投票

也许它也是过度规范,最好还是被遗漏并加入一次Py4实际上是一个甚至被考虑的东西?

究竟!

核心开发人员甚至还没有开始讨论Python 4,更不用说计划或实现了。他们还承诺不会像2到3过渡那样打破局面。

拥有如此遥远的未来和向后兼容承诺,保护自己免受未知和无计划的破坏还为时过早。至少等到核心开发人员开始讨论Python 4。


0
投票

当前的Python项目是否应该在<4(setup.py)中列出python_requires

不,他们不应该,因为预计Python 4将向后兼容Python 3.9。把它拿出来。需求说明符中的上限仅对遵循semver或类似项目的项目非常有用。

Here is a core developer discussing Python 4和backwards compat:

我目前的期望是Python 4.0将只是“Python 3.9之后的版本”。而已。语言没有深刻的变化,没有重大的向后兼容性突破 - 从Python 3.9到4.0应该像从Python 3.3到3.4一样平安无事

当Python 4.0出现时,我们可以希望Python 2将会死亡,Python 3将被称为“python”。

© www.soinside.com 2019 - 2024. All rights reserved.