如何检查哪个版本的Python解释器正在运行我的脚本?
当前回答
下面是一个简短的命令行版本,它可以直接退出(方便脚本和自动执行):
python -c "print(__import__('sys').version)"
或者只是大调、小调和微调:
python -c "print(__import__('sys').version_info[:1])" # (2,)
python -c "print(__import__('sys').version_info[:2])" # (2, 7)
python -c "print(__import__('sys').version_info[:3])" # (2, 7, 6)
其他回答
你最好的选择可能是这样的:
>>> 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!"
>>>
import sys
sys.version.split(' ')[0]
sys。版本给你你想要的,只是选择第一个数字:)
在Windows操作系统下,通过在命令提示符中输入以下命令,验证命令的Python版本
c:\>python -V
Python 2.7.16
c:\>py -2 -V
Python 2.7.16
c:\>py -3 -V
Python 3.7.3
此外,要查看每个Python版本的文件夹配置,请运行以下命令:
For Python 2,'py -2 -m site'
For Python 3,'py -3 -m site'
可以这样写:
#!/usr/bin/env/python
import sys
if sys.version_info<(2,6,0):
sys.stderr.write("You need python 2.6 or later to run this script\n")
exit(1)
在你的脚本顶部。
请注意,根据脚本中的其他内容,比目标版本更老的python甚至可能无法加载脚本,因此不会报告此错误。作为一种变通方法,您可以在一个脚本中运行上述操作,该脚本导入了更现代的代码。
下面是一个简短的命令行版本,它可以直接退出(方便脚本和自动执行):
python -c "print(__import__('sys').version)"
或者只是大调、小调和微调:
python -c "print(__import__('sys').version_info[:1])" # (2,)
python -c "print(__import__('sys').version_info[:2])" # (2, 7)
python -c "print(__import__('sys').version_info[:3])" # (2, 7, 6)
推荐文章
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 没有名为'django.core.urlresolvers'的模块
- 蟒蛇导出环境文件
- Django - makemigrations -未检测到任何更改
- SQLAlchemy:引擎、连接和会话差异
- 在Python Pandas中删除多个列中的所有重复行
- 更改pandas DataFrame中的特定列名
- 将Pandas多索引转换为列
- 熊猫在每组中获得最高的n个记录
- 熊猫数据帧得到每组的第一行