在shell脚本中检测python版本

109 投票
18 回答
116545 浏览
提问于 2025-04-16 18:24

我想知道在一个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中都能兼容。

撰写回答