搜关键词搜不准,都是搜到直接在shell环境下运行python -v
,关键是我要在程序里用到版本信息做判断呢,该怎么写呢?
如果是给人读,用 sys.version
,
如果是给机器比较,用 sys.version_info
,
如果是判断是不是 PyPy 等第三方实现,用 sys.implementation
(要 Python 3.3)。
例子:
import sys
if sys.version_info < (3, 4):
raise RuntimeError('At least Python 3.4 is required')
查下manual就可以知道了,有多个类似变量可用
sys.version A string containing the version number of the Python interpreter plus additional information on the build number and compiler used. This string is displayed when the interactive interpreter is started. Do not extract version information out of it, rather, use version_info and the functions provided by the platform module.
1 回答9.6k 阅读✓ 已解决
2 回答5.2k 阅读✓ 已解决
2 回答3.6k 阅读✓ 已解决
3 回答4.5k 阅读
2 回答1.6k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
最『政治正确』的方式应该是
sys.implementation
。PEP0421是说这个问题的: http://www.python.org/dev/peps/pep-04...可惜这个PEP太新了…只有最新的
CPython3.3
才支持…orz…