Определить версию Python в сценарии оболочки - PullRequest
66 голосов
/ 26 мая 2011

Я хотел бы определить, установлен ли python в системе Linux, и если это так, какая версия Python установлена.

Как я могу это сделать? Есть ли что-то более изящное, чем парсинг вывода "python --version"?

Ответы [ 11 ]

0 голосов
/ 24 октября 2018

Если вам нужно проверить, является ли версия хотя бы «некоторой версией», то я предпочитаю решение, которое не делает предположений о количестве цифр в частях версии.

VERSION=$(python -V 2>&1 | cut -d\  -f 2) # python 2 prints version to stderr
VERSION=(${VERSION//./ }) # make an version parts array 
if [[ ${VERSION[0]} -lt 3 ]] || [[ ${VERSION[0]} -eq 3 && ${VERSION[1] -lt 5 ]] ; then
    echo "Python 3.5+ needed!" 1>&2
    return 1
fi

Это будет работать даже с нумерацией, такой как 2.12.32 или 3.12.0 и т. Д. Вдохновленный этот ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...