Какую версию Python я установил?


457

Я должен запустить скрипт Python на сервере Windows. Как я могу узнать, какая у меня версия Python, и имеет ли она вообще значение?

Я думал об обновлении до последней версии Python.


2
Да, (основной) номер версии имеет значение. Убедитесь, что вы выбрали документацию Python, соответствующую вашей версии Python.
Андре Карон

Если вы также хотите узнать, какой Python связан с .pyфайлами, вас может заинтересовать пакетный файл в разделе Как написать пакетный файл с указанием пути к исполняемому файлу и версии Python, обрабатывающей скрипты Python для Windows?
Петр Доброгост

2
Связанный: есть ли гарантированный способ увидеть все версии Python, которые доступны / установлены в вашей системе Linux?
Деннис

1
@esteban: Ни один из ответов не относится к Windows, и заголовки в любом случае не нуждаются в тегах. Откат.
Wooble

1
Связанный поток, чтобы проверить версию Python из сценария / программы Python - Как проверить, какая версия Python выполняет мой сценарий?
RBT

Ответы:


618
python -V

http://docs.python.org/using/cmdline.html#generic-options

--version может также работать (введено в версии 2.5)


3
На моем компьютере с Windows 8.1 Pro, Python 2.7.10 выводит Python 2.7.10для -Vи --version; и Python 3.4.3 также выводит Python 3.4.3оба варианта.
J0e3gan

2
Вы могли бы также иметь несколько других версий Python, что-то вроде этого sudo find / -iname python, вероятно, обнаружит их.
PatrickT

4
@PatrickT Этот пост был о питоне на Windows-сервере, sudo и find могли бы запутать некоторых новичков, так как они не будут работать на Windows
Майкл Б.

13
не путать с python -v(нижний регистр v), который увеличивает многословность лесозаготовок
joelb

3
Если вы создаете API, рассмотрите возможность использования обоих -vи -versionпсевдонимов. Очевидно, что около 500 разработчиков должны были найти этот ответ и одобрить этот ответ для Python на SO. Это плохой дизайн
P.Brian.Mackey

133

Python 2.5+:

python --version

Python 2.4-:

python -c 'import sys; print(sys.version)'

Примечание. Интерпретатор не может использовать ту же версию Python, что и та, которая запускает ваши скрипты. Я думаю, что есть некоторые обстоятельства, когда по умолчанию ваш интерпретатор - Python 3, но ваши скрипты запускаются на Python 2 (нужно #!python3в качестве первой строки).
Льюз

1
ПРИМЕЧАНИЕ. В Windows вам нужно перейти в «Python (командную строку)», чтобы выполнить вышеуказанные действия.
HPWD

Этот ответ более полезен, скрипт получит возможность, запускать или нет.
AjayKumarBasuthkar

Это сработало для меня, когда я использовал двойные кавычки вокруг утверждения. python -c "import sys; print sys.version"
S3DEV

Можете ли вы обновить свой ответ по отношению к. в винду? Смотрите другие комментарии. Заранее спасибо.
Питер Мортенсен

123

В Python IDE просто скопируйте и вставьте следующий код и запустите его (версия появится в области вывода):

import sys
print(sys.version)

3
Это отвечает на вопрос «в какой версии я работаю», что решило проблему с конфигурациями среды (спасибо). На многих компьютерах установлено несколько версий Python.
Франческо Наполитано

2
Это более полезно, чем команда -v, так как она сообщает архитектуру установленного питона (32-
битный

1
Это также хорошее решение, потому что оно работает для Python 3.x
Ганеш Камат - «Безумство кода»

Хорошо работает на Anaconda Spyder IDE. Кроме того, в обычном Anaconda Prompt можно использовать python --version
vinsinraw

Но это на сервере Windows. Возможно, не установлена ​​IDE.
Питер Мортенсен


24

Когда я открываю Python (command line)первое, он говорит мне, что это версия.


1
Это должно быть правильным ответом для окон. Я пытался часами с "питоном", но не работал. Затем я набрал «Python», который работал. +1 за правильное предоставление команды.
Наташа

Вы имеете в виду нажатие клавиши Windows и ввод "Python" ? Или что-то другое?
Питер Мортенсен,

23

Хотя вопрос «какую версию я использую?», На самом деле это не все, что вам нужно знать. У вас могут быть установлены другие версии, и это может вызвать проблемы, особенно при установке дополнительных модулей. Это мой грубый подход к выяснению, какие версии установлены:

updatedb                  # Be in root for this
locate site.py            # All installations I've ever seen have this

Вывод для одной установки Python должен выглядеть примерно так:

/usr/lib64/python2.7/site.py
/usr/lib64/python2.7/site.pyc
/usr/lib64/python2.7/site.pyo

Несколько установок будут иметь что-то вроде этого:

/root/Python-2.7.6/Lib/site.py
/root/Python-2.7.6/Lib/site.pyc
/root/Python-2.7.6/Lib/site.pyo
/root/Python-2.7.6/Lib/test/test_site.py
/usr/lib/python2.6/site-packages/site.py
/usr/lib/python2.6/site-packages/site.pyc
/usr/lib/python2.6/site-packages/site.pyo
/usr/lib64/python2.6/site.py
/usr/lib64/python2.6/site.pyc
/usr/lib64/python2.6/site.pyo
/usr/local/lib/python2.7/site.py
/usr/local/lib/python2.7/site.pyc
/usr/local/lib/python2.7/site.pyo
/usr/local/lib/python2.7/test/test_site.py
/usr/local/lib/python2.7/test/test_site.pyc
/usr/local/lib/python2.7/test/test_site.pyo

updatedb? Это Linux. Вопрос был о сервере Windows.
Питер Мортенсен

11
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


7
>>> import sys; print('{0[0]}.{0[1]}'.format(sys.version_info))
3.5

так из командной строки:

python -c "import sys; print('{0[0]}.{0[1]}'.format(sys.version_info))"

7

использование

python -V

или

python --version

ПРИМЕЧАНИЕ. Обратите внимание, что буквой «V» в python -Vкоманде является заглавная буква V. python -v(маленькая буква «v») запустит Python в подробном режиме.


Будет ли это работать на сервере Windows?
Питер Мортенсен

5

Вы можете получить версию Python, используя следующую команду

python --version

Вы даже можете получить версию любого пакета, установленного в venv, используя pip freezeкак:

pip freeze | grep "package name"

Или используя интерпретатор Python как:

In [1]: import django
In [2]: django.VERSION
Out[2]: (1, 6, 1, 'final', 0)

5

У меня есть Python 3.7.0 на Windows 10.

Вот что сработало для меня в командной строке и Git Bash :

Чтобы запустить Python и проверить версию:

py

Чтобы только проверить, какая у вас версия:

py --version

или

py -V    # Make sure it is a capital V

Примечание: python, python --version, python -V, Python, Python --version, Python -Vне работает для меня.


python -Vвозвращается к Fedora 1 с Python 2.2.3. py --versionрезультаты в command not found. python --versionрезультаты в unknown option: --.
августа

4

Если вы уже находитесь в окне REPL и не видите приветственное сообщение с номером версии, вы можете использовать help () для просмотра основной и вспомогательной версии:

>>>help()
Welcome to Python 3.6's help utility!
...

3

Чтобы проверить версию Python в записной книжке Jupyter, вы можете использовать:

from platform import python_version
print(python_version())

чтобы получить номер версии, как:

3.7.3

или:

import sys
print(sys.version)

чтобы получить больше информации, как

3.7.3 (default, Apr 24 2019, 13:20:13) [MSC v.1915 32 bit (Intel)]

или:

sys.version_info

чтобы получить основные, минорные и микро версии, а

sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)

2

Просто создайте файл, оканчивающийся на .py, вставьте в него код ниже и запустите его.

#!/usr/bin/python3.6

import platform
import sys

def linux_dist():
  try:
    return platform.linux_distribution()
  except:
    return "N/A"

print("""Python version: %s
dist: %s
linux_distribution: %s
system: %s
machine: %s
platform: %s
uname: %s
version: %s
""" % (
sys.version.split('\n'),
str(platform.dist()),
linux_dist(),
platform.system(),
platform.machine(),
platform.platform(),
platform.uname(),
platform.version(),
))

Если в системе установлено несколько версий интерпретатора Python, выполните следующие команды.

В Linux запустите в терминале:

ll /usr/bin/python*

В Windows запустите из командной строки:

dir %LOCALAPPDATA%\Programs\Python

Вопрос был о Windows, а не о Linux.
Питер Мортенсен,

2

Чтобы проверить версию Python для команд в Windows, выполните следующие команды в командной строке и проверьте вывод:

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'

1

В Windows 10 с Python 3.6

    python

Python 3.6.0a4 (v3.6.0a4:017cf260936b, Aug 16 2016, 00:59:16) [MSC v.1900 64 bit (AMD64)] on win32


    python -V

Python 3.6.0a4


    python --version

Python 3.6.0a4

1

Если у вас установлен Python, то проще всего проверить номер версии, набрав «python» в командной строке. Он покажет вам номер версии и, если он работает на 32-битной или 64-битной и некоторую другую информацию. Для некоторых приложений вы хотели бы иметь последнюю версию, а иногда нет. Это зависит от того, какие пакеты вы хотите установить или использовать.


1
Это практически идентично ответу poy .
Питер Мортенсен

1

Для меня открытие CMD и запуск

py

покажет что-то вроде

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

1
Это на Windows? Какая реализация Python? Анаконда ? (Ответьте, отредактировав свой ответ , а не здесь, в комментариях (при необходимости))
Питер Мортенсен


0

Typing where python в Windows в командной строке может сказать вам, где установлено несколько разных версий python, при условии, что они были добавлены в ваш путь.

Ввод python -Vв командной строке должен отобразить версию.


-1

В основном команды использования:

python -version

Или

python -V
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.