如何检查哪个版本的Python解释器正在运行我的脚本?
当前回答
你最好的选择可能是这样的:
>>> import sys
>>> sys.version_info
(2, 6, 4, 'final', 0)
>>> if not sys.version_info[:2] == (2, 6):
... print "Error, I need python 2.6"
... else:
... from my_module import twoPointSixCode
>>>
此外,您总是可以在一个简单的try中包装导入,这应该会捕获语法错误。而且,按照@Heikki的观点,这段代码将与更老版本的python兼容:
>>> try:
... from my_module import twoPointSixCode
... except Exception:
... print "can't import, probably because your python is too old!"
>>>
其他回答
该信息可在sys。sys模块中的版本字符串:
>>> import sys
人类可读的:
>>> print(sys.version) # parentheses necessary in python 3.
2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)]
如需进一步处理,请使用sys。Version_info或sys.hexversion:
>>> sys.version_info
(2, 5, 2, 'final', 0)
# or
>>> sys.hexversion
34014192
为了确保脚本以最小版本的Python解释器要求运行,在代码中添加以下内容:
assert sys.version_info >= (2, 5)
比较主要版本和次要版本信息。在元组中添加micro(= 0,1等)和releaselevel (='alpha','final'等)。然而,请注意,最好是“回避”检查是否有特定的功能,如果没有,就采取变通措施(或退出)。有时,新版本的特性会消失,被其他特性所取代。
import sys
sys.version.split(' ')[0]
sys。版本给你你想要的,只是选择第一个数字:)
尝试使用os。Popen在变量中读取它:
import os
ver = os.popen('python -V').read().strip()
print(ver)
有六个模块,你可以做到:
import six
if six.PY2:
# this is python2.x
else:
# six.PY3
# this is python3.x
对于windows,进入命令提示符并键入此命令以获取python版本:
python --version
Or
python -V
推荐文章
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 没有名为'django.core.urlresolvers'的模块
- 蟒蛇导出环境文件
- Django - makemigrations -未检测到任何更改
- SQLAlchemy:引擎、连接和会话差异
- 在Python Pandas中删除多个列中的所有重复行
- 更改pandas DataFrame中的特定列名
- 将Pandas多索引转换为列
- 熊猫在每组中获得最高的n个记录
- 熊猫数据帧得到每组的第一行