当前的Python项目是否应该在“Python\u requires”中列出“<4”(设置.py)还是不?

2024-10-03 11:16:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一些项目中做了一个coupleofPRs,我参与了在它们的setup.py中添加一个python_requires(根据packaging.python.org/guides/dropping-older-python-versions/)。你知道吗

出现的一个问题是,在这个语句中包含<4是否是一个好主意。你知道吗

一方面,不能保证代码在python4出现时(可能是几年以后)都能在python4上运行,但也许它也太过规范了,一旦Py4真的成为一个被考虑的对象,就最好被忽略并添加进去?你知道吗

我尝试过搜索这个(包括SO:),但是没有得到任何好的结果。是否有邮件列表线程或一些我没有找到的讨论这方面最佳实践的东西?sampleproject包含了<4,但似乎并没有在the related PR中真正讨论这个问题,packaging.python.org documentation for ^{}有例子,有例子,也有例子,但并没有真正描述(据我所知)何时包含它或不包含它。你知道吗


Tags: 项目pyorgsetup语句versionspackaging例子
2条回答

maybe it's also overspecification and would better be left out and added in once Py4 is actually a thing that is even being considered?

完全正确!你知道吗

核心开发人员甚至还没有开始讨论Python4,更不用说规划或实现了。他们还承诺不会像2到3的过渡那样打破现状。你知道吗

面对如此遥远的未来和向后兼容的承诺,保护自己不受未知和意外破坏还为时过早。至少要等到核心开发人员开始讨论Python4。你知道吗

Should current Python projects list <4 in python_requires (setup.py) or not?

不,它们不应该这样做,因为python4应该与python3.9向后兼容。别说了。需求说明符中的上界只对遵循semver或类似规则的项目真正有用。你知道吗

Here is a core developer discussing Python 4和向后兼容:

My current expectation is that Python 4.0 will merely be "the release that comes after Python 3.9". That's it. No profound changes to the language, no major backwards compatibility breaks - going from Python 3.9 to 4.0 should be as uneventful as going from Python 3.3 to 3.4

当Python4.0即将面世时,我们可以希望Python2已经死了,Python3将被称为“Python”。你知道吗

相关问题 更多 >