Python版本编号方案

ncu*_*cia 9 python installation python-3.x

我试图了解不同版本的Python.目前,他们的网站在下载部分提供了几个不同的版本.

我理解Python 2.x和3.x之间的区别,我遇到的更大混乱是在不同版本的Python 3.x之间.

例如,他们的网站目前列出了三个最新版本:

  • Python 3.4.6(2017-01-17)
  • Python 3.5.3(2017-01-17)
  • Python 3.6.0(2016-12-23)

显然,最新版本是3.4.6,但它不是最大的版本号.

这三个不同版本之间有什么区别?我应该安装最新版本还是最大版本号?所有帮助表示赞赏.

lmi*_*asf 9

根据这个,版本号被定义

MAJOR.MINOR.PATCH

哪里

  1. 进行不兼容的API更改时的MAJOR版本
  2. 当您以向后兼容的方式添加功能时的MINOR版本,以及
  3. PATCH版本,当您进行向后兼容的错误修复时.

根据这个这个的Python 3.5.0发布于2015年9月13日,而Python 3.4.0已于2014年3月16日发布.

版本号中的第三个数字是通常修复错误的PATCH,因此最后一个版本的Python是3.6.0,到目前为止还没有补丁.我建议根据您要使用的库的兼容性使用该版本.

  • Python 不使用 semver。 (6认同)
  • 我已经否决了你的答案。原因:Python [不使用 SemVer](https://docs.python.org/3/faq/general.html#how-does-the-python-version-numbering-scheme-work)。因此,您的回答对讨论没有任何价值。更糟糕的是,您声称 Python 遵循 SemVer,从而无意中传播了错误信息。 (3认同)
  • @PunchyRascal,PEP 似乎是为了教开发人员如何对他们的包进行版本控制,而不是关于 Python 本身使用的版本控制。 (2认同)

Sup*_*mer 9

与普遍看法相反,Python(语言)使用 SemVer。引用文档

\n
\n

Python 版本编号为 \xe2\x80\x9cA.BC\xe2\x80\x9d 或 \xe2\x80\x9cA.B\xe2\x80\x9d:

\n
    \n
  • A 是主要版本号 \xe2\x80\x93 它仅在语言发生重大变化时才会递增。
  • \n
  • B 是次要版本号 \xe2\x80\x93,它会递增以减少惊天动地的变化。
  • \n
  • C 是微版本号 \xe2\x80\x93,它针对每个错误修复版本而递增。
  • \n
\n
\n

与 SemVer 不同,Python 的每个所谓的“次要版本”都包含重大更改。这些向后不兼容的更改通常记录在每个版本(例如3.11 的版本)的“What\xe2\x80\x99s New”页面的“Porting to Python XY”部分中。

\n

主要版本更新仅用于大规模重大更改。最后一个主要版本更新是Python 3,它故意给语言带来了许多向后不兼容的更改(例如字符串类型的返工和将 print 更改为函数),导致了持续近 15 年的过渡期。

\n