我已经找到了应该是一个基本问题......但我的谷歌让我失望了,我需要进行健全性检查。
如果我在Python shell中运行以下命令:
>>> import sys
>>> sys.version
来自两个不同的Python环境,我得到:
'2.7.8 (default, Nov 10 2014, 08:19:18) \n[GCC 4.9.2 20141101 (Red Hat 4.9.2-1)]'
和...
'2.7.8 (default, Apr 15 2015, 09:26:43) \n[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)]'
这是否意味着这两个环境实际上运行的Python内核略有不同,或者说该版本字符串中的“2.7.8”位是否相同,所以我可以确信这些是1:1相同的Python解释器?
如果我保证它们是相同的,那么日期和该版本输出字符串的其他部分的重要性是什么?
答案 0 :(得分:7)
你需要比较的是第一位,即2.7.8字符串。
您看到的差异是由于用于构建二进制文件的编译器以及构建二进制文件时所致。这不应该在这里有所作为。
该字符串由您可以在其他地方以机器可读形式找到的信息组成;具体是:
将Python版本作为字符串'major.minor.patchlevel'返回。
返回一个元组
(buildno, builddate)
,将Python内部版本号和日期表示为字符串。
返回一个字符串,标识用于编译Python的编译器。
对于您的示例字符串,不同之处在于构建二进制文件的日期(platform.python_build()
元组的第二个值)以及所使用的GCC编译器的确切修订版(来自platform.python_compiler()
字符串)。只有在编译器存在特定问题时才会这样。
您通常只关心Python版本信息,这些信息更容易作为sys.version_info
tuple提供。