Какую версию Python у меня есть?

Как узнать, какие версии Python у меня есть?

Я использую Ubuntu   14.04 (Trusty Tahr).

1
задан 1 August 2014 в 03:57

7 ответов

Тип в терминале (Ctrl + Alt + T):

python -V

или

python --version

Вы можете найти список параметры / параметры для многих команд в терминале, набрав команду, за которой следует --help

Пример:

python --help

Ручные / manpages также доступны для большинства таких CLI, которые могут быть [[6]]

Из man python:

COMMAND LINE OPTIONS
        -V ,  --version
              Prints the Python version number of the executable and exits.

На многих машинах также установлен python3, поэтому вы можете:

python3 --version

, чтобы узнать, что вы используете python 3.x.

49
ответ дан 24 May 2018 в 05:06
  • 1
    Стоит отметить, как @Florian Diesch ниже ссылается на то, что вы, вероятно, имеете несколько версий «python». По умолчанию "python" указывает на установку python 2.7, хотя ubuntu 14.04 также поставляется с python 3.0. – Mitch 1 August 2014 в 17:01
python --version

и

python2 --version

показывают версию Python 2.x,

python3 --version

установленной версии Python 3.x

29
ответ дан 24 May 2018 в 05:06

Когда вы запустите python в терминале, он выдаст такой вывод:

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

См. первую строку - Python 2.7.6.

Также запустите . У меня 3.4.1

Python 3.4.1 (default, Jul 31 2014, 12:46:17) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Однако это не покажет вам всех. Если у вас есть 2 или более версий python 3.X.x, вы увидите только последнюю версию.

По умолчанию 14.04 вы имеете 2.7.6 и 3.4.0. Как вы можете видеть, я обновил до 3.4.1. Я знаю, что у меня все еще есть 3.4.0, потому что, когда я перехожу к /usr/bin, я вижу python3.4, и если я запустил /usr/bin/python3.4 в командной строке, я получаю 3.4.0, а запуск /usr/local/bin/python3.4 дает мне 3.4. 1

8
ответ дан 24 May 2018 в 05:06
  • 1
    «Если у вас есть 2 или более версий python 3.X.x, вы увидите только последнюю версию. " Разве он не показывает, какой из них имеет свой содержащий каталог, указанный первым в переменной среды PATH? Почему запуск python3 всегда запускает установленную версию (sub) версии python3, установленную? Или, на практике, не будет ли отображаться какая-либо версия, на которую указывает символьная ссылка /usr/bin/python3, которая не должна быть последней? – Eliah Kagan 31 July 2014 в 23:43
  • 2
    @Eliah Не знаю, но некоторые программы берут его оттуда и другие из /usr/bin одного ... – Tim 31 July 2014 в 23:45
  • 3
    Ну, когда дело доходит до фактически запущенных программ python, в зависимости от того, как они выполняются, строка hashbang может использоваться для определения того, какой питон действует как интерпретатор ( details ; обратите внимание на использование env в линиях hashbang , чтобы найти в зависимости от того, что интерпретируется, может быть системно-предпочтительным в , распространенным в сценариях Python ). Я не уверен, что это то, что вы подразумеваете под различиями между некоторыми программами и другими. – Eliah Kagan 31 July 2014 в 23:50
  • 4
    Нет, пользователь сказал, что idle работает с 3.4.0 и командной строкой с 3.4.1 ... – Tim 31 July 2014 в 23:55

Вы также можете проверить версию Python из самого кода, используя модуль platform из стандартной библиотеки. Есть две функции: platform.python_version() (возвращает строку) и platform.python_version_tuple() (возвращает кортеж). Сценарий:

import platform

print(platform.python_version())
print(platform.python_version_tuple())

Запуск:

$ python test.py 
3.4.1
('3', '4', '1')
$ python2.7 test.py 
2.7.8
('2', '7', '8')
5
ответ дан 24 May 2018 в 05:06
  • 1
    Я думаю, что чаще использовать sys.version или sys.version_info. – Matt Nordhoff 2 August 2014 в 21:31

Если вы хотите, чтобы все версии Python были доступны как команды, запустите compgen -c python. Например:

$ compgen -c python
python2.7
python3.4m
python3.4
python3m
python
python3
python2

Если вы хотите получить версию каждого из приведенных выше, вот небольшой однострочный текст, который я написал:

$ for p in $(compgen -c python); do printf "%-16s" $p; $p --version; done
python2.7      Python 2.7.6
python3.4m     Python 3.4.3
python3.4      Python 3.4.3
python3m       Python 3.4.3
python         Python 2.7.6
python3        Python 3.4.3
python2        Python 2.7.6

Обновление: я просто добавил некоторые пакетов и заметил, что программы python*-config не поддерживают флаг --version. Например:

$ python3-config --version
Usage: /usr/bin/python3-config --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir
3
ответ дан 24 May 2018 в 05:06

С легкостью откройте терминал и выполните следующие действия:

Запишите

python

, чтобы проверить версию 2.x. В моем случае он появится:

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Для 3.x напишите:

python3

В моем случае появляется:

Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.

Для обоих случаев, чтобы выйти из Python shell, напишите:

 exit()
2
ответ дан 24 May 2018 в 05:06
В терминале оболочки $ which -a python перечислены все ваши python. $ which -a python2.7 перечисляет все ваши python2.7. $ /usr/bin/python -V дает информацию о версии /usr/bin/python. check in python script

вот иллюстрация в оболочке ipython:

In [1]: import sys

In [2]: sys.version
2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Dec  6 2015, 18:08:32) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]

In [3]: sys.version_info
sys.version_info(major=2, minor=7, micro=11, releaselevel='final', serial=0)

In [4]: sys.version_info >= (2,7)
Out[4]: True

In [5]: sys.version_info >= (3,)
Out[5]: False
1
ответ дан 24 May 2018 в 05:06
  • 1
    Я предположил, что python -v вернет версию и выполнит ее как root. он напечатал длинный список вещей, но наверху он сказал installing zipimport hook, и теперь кажется, что я в программе, о которой я понятия не имею, как выйти из нее, не говоря уже об удалении? ты можешь помочь мне здесь – Anthony 15 August 2017 в 01:14

Другие вопросы по тегам:

Похожие вопросы: