在shell脚本中检测python版本
我想知道在一个Linux系统上是否安装了Python,如果安装了,具体是哪个版本的Python。
我该怎么做呢?有没有比解析"python --version"
的输出结果更优雅的方法?
18 个回答
24
你也可以使用这个:
pyv="$(python -V 2>&1)"
echo "$pyv"
41
python -c 'import sys; print sys.version_info'
或者,用人能看懂的方式:
python -c 'import sys; print(".".join(map(str, sys.version_info[:3])))'
92
你可以使用下面这样的代码:
$ python -c 'import sys; print(sys.version_info[:])'
(2, 6, 5, 'final', 0)
这个元组的详细信息可以在这里找到。你可以根据自己的需求,扩展上面的Python代码,来格式化版本号,或者进行一些检查。
在你的脚本中,你需要检查$?
,以处理找不到python
的情况。
附注:我使用了稍微奇怪的语法,以确保在Python 2.x和3.x中都能兼容。