我做了一个 couple of PRs 在一些项目中,我加入了 python_requires 给他们的 setup.py (根据 packaging.python.org/guides/dropping-older-python-versions/ )
python_requires
setup.py
一个问题是,把 <4 不管你是否在这句话里。
<4
一方面,并不能保证代码在python 4出现时就可以工作(可能是在未来的几年),但也许它也是过度指定的,如果py4实际上是一个正在考虑的东西,最好将其省略并添加进来?
我试过搜索这个(包括so so:),但没有得到任何好的结果。是否有邮件列表线程或一些我没有找到的东西来讨论这方面的最佳实践? sampleproject 包括 <四 但似乎并没有在 the related PR , the packaging.python.org documentation for setup_requires 有和没有 <四 但并没有真正描述(据我所知)什么时候包括它。
<四
setup_requires
当前python项目是否应该列出 <4 在里面 python_requires (setup.py)还是不?
不,他们不应该这样做,因为Python4应该*与Python3.9向后兼容。别管它。需求说明符的上界只对以下项目有用 semver 或类似的。
Here is a core developer discussing Python 4 向后兼容:
我目前的预期是,Python4.0将仅仅是“Python3.9之后的版本”。就这样。语言没有深刻的变化,没有重大的向后兼容性中断——从Python3.9到4.0应该和从Python3.3到3.4一样平淡无奇
当Python4.0即将面世时,我们可以希望Python2会死掉,而Python3将被称为“Python”。
也许这也是过度指定,如果PY4实际上是一个甚至正在考虑的东西,最好将其排除在外并添加进来?
确切地!
核心开发人员甚至还没有开始讨论Python4,更不用说规划或实现了。他们还承诺不会像2比3过渡时期那样打破现状。
拥有如此遥远的未来和向后兼容的承诺,现在保护自己免受未知和意外的破坏还为时过早。至少等到核心开发人员开始讨论Python4。