【发布时间】:2019-09-25 20:27:51
【问题描述】:
我偶然发现了一个简单的问题。这不是很重要,但我对此原因很感兴趣,还没有找到快速的答案。
根据PEP 508 -- Environment Markers (section "Specification" - "Environment markers")标记变量python_version定义为platform.python_version()[:3]。
所以对于 Python 3.5.2,python_version 将是 3.5。
但是,如果主要或次要版本号高于 9 怎么办?版本号将包含 3 个以上的字符,[:3] 将对其进行裁剪。这难道不是未来 Python 版本的可能性吗?
为什么不使用类似".".join(platform.python_version().split(".", 2)[:2]) 的东西,它看起来仍然很基本,并且不会使代码过于复杂?
【问题讨论】:
-
为什么要关心被拒绝的 PEP?
-
我看到 PEP 508 声明了来自
platform.python_version()的相同派生。 -
好多了:
'.'.join(platform.python_version_tuple()[:2].
标签: python pip requirements.txt