Którą wersję Pythona zainstalowałem?


457

Muszę uruchomić skrypt Python na serwerze Windows. Skąd mam wiedzieć, którą mam wersję Pythona i czy to naprawdę ma znaczenie?

Myślałem o aktualizacji do najnowszej wersji Pythona.


2
Tak, ważny jest (główny) numer wersji. Upewnij się, że wybierasz dokumentację w języku Python, która jest zgodna z wersją języka Python.
André Caron

Jeśli chcesz również dowiedzieć się, co Python jest skojarzony z .pyplikami, możesz zainteresować się plikiem wsadowym w Jak napisać plik wsadowy pokazujący ścieżkę do pliku wykonywalnego i wersji Pythona obsługującej skrypty Pythona w systemie Windows?
Piotr Dobrogost

2
Powiązane: Czy istnieje gwarantowany sposób, aby zobaczyć wszystkie wersje Pythona, które są dostępne / zainstalowane w systemie Linux?
Dennis,

1
@esteban: Żadna z odpowiedzi nie jest specyficzna dla systemu Windows, a tytuły i tak nie potrzebują tagów. Wycofana.
Wooble,

1
Powiązany wątek do sprawdzenia wersji Pythona ze skryptu / programu Python - Jak sprawdzić, która wersja Pythona uruchamia mój skrypt?
RBT

Odpowiedzi:


618
python -V

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

--version może również działać (wprowadzony w wersji 2.5)


3
Na moim komputerze z systemem Windows 8.1 Pro wyniki Python 2.7.10 Python 2.7.10dla -Vi --version; i Python 3.4.3 podobnie generują również Python 3.4.3dla obu opcji.
J0e3gan

2
możesz mieć też kilka innych wersji Pythona, coś takiego sudo find / -iname pythonprawdopodobnie je odkryłoby.
PatrickT,

4
@PatrickT ten post dotyczył Pythona na serwerze Windows, sudo i find wprowadzałby w błąd niektórych początkujących, ponieważ nie działaliby w systemie Windows
Michael B.

13
nie mylić z python -v(mała litera v), która zwiększa gadatliwość rejestrowania
joelb

3
Jeśli budujesz API należy rozważyć umożliwienie zarówno -vi -versionaliasów. Najwyraźniej około 500 programistów musiało to sprawdzić i poprzeć tę odpowiedź dla Pythona na SO. To zły projekt
P.Brian.Mackey

133

Python 2.5+:

python --version

Python 2.4-:

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

Uwaga: interpreter może nie używać tej samej wersji języka Python, co ta, która uruchamia twoje skrypty. Myślę, że są pewne okoliczności, w których domyślnie twoim tłumaczem jest Python 3, ale twoje skrypty są uruchamiane w Python 2 (potrzeba #!python3jako pierwsza linia).
leewz

1
UWAGA: W systemie Windows należy przejść do „Python (linia poleceń)”, aby wprowadzić powyższe kroki.
HPWD,

Ta odpowiedź jest bardziej przydatna, skrypt zyskałby możliwość uruchamiania lub nie.
AjayKumarBasuthkar

To działało dla mnie, kiedy użyłem podwójnych cudzysłowów wokół oświadczenia. python -c "import sys; print sys.version"
S3DEV,

Czy możesz zaktualizować swoją odpowiedź wrt. do systemu Windows? Zobacz inne komentarze. Z góry dziękuję.
Peter Mortensen

123

W środowisku Python IDE po prostu skopiuj i wklej następujący kod i uruchom go (wersja pojawi się w obszarze wyjściowym):

import sys
print(sys.version)

3
To odpowiada na pytanie „jaką wersję używam”, co rozwiązało problem, który miałem z konfiguracjami środowiska (dzięki). Wiele komputerów ma zainstalowanych wiele wersji Pythona.
Francesco Napolitano

2
Jest to bardziej przydatne niż polecenie -v, ponieważ mówi o architekturze zainstalowanego pytona (32-bitowego lub 64-bitowego)
Abouzar Nouri

1
Jest to również dobre rozwiązanie, ponieważ działa dla Pythona 3.x
Ganesh Kamath - „Code Frenzy”

Działa dobrze na Anaconda Spyder IDE. Alternatywnie, na normalnym Anaconda Prompt można użyć python --version
vinsinraw

Ale to jest na serwerze Windows. Może nie być zainstalowanego IDE.
Peter Mortensen


24

Kiedy otwieram Python (command line)pierwszą rzeczą, która mówi mi, jest wersja.


1
To powinna być właściwa odpowiedź dla systemu Windows. Próbowałem godzinami z „python”, ale nie działałem. Następnie wpisałem „Python”, który zadziałał. +1 za prawidłowe wykonanie polecenia.
Natasha

Masz na myśli naciśnięcie klawisza Windows i wpisanie „Python” ? Albo coś innego?
Peter Mortensen

23

Chociaż pytanie brzmi „z której wersji korzystam?”, To może nie być wszystko, co musisz wiedzieć. Możliwe, że masz zainstalowane inne wersje, co może powodować problemy, szczególnie podczas instalowania dodatkowych modułów. Oto moje ogólne podejście do wyszukiwania zainstalowanych wersji:

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

Dane wyjściowe dla pojedynczej instalacji w języku Python powinny wyglądać mniej więcej tak:

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

Wiele instalacji będzie miało wyjście takie jak to:

/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

zaktualizowano? To jest Linux. Pytanie dotyczyło serwera Windows.
Peter Mortensen

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

więc z wiersza poleceń:

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

7

Posługiwać się

python -V

lub

python --version

UWAGA: Należy pamiętać, że „V” w python -Vpoleceniu jest wielką literą V. python -v(małe „v”) uruchomi Python w trybie pełnym.


Czy będzie działać na serwerze Windows?
Peter Mortensen

5

Możesz pobrać wersję Pythona za pomocą następującego polecenia

python --version

Możesz nawet pobrać wersję dowolnego pakietu zainstalowanego w venv, używając pip freezejako:

pip freeze | grep "package name"

Lub używając interpretera Python jako:

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

5

Mam Python 3.7.0 na Windows 10.

Oto, co działało dla mnie w wierszu polecenia i Git Bash :

Aby uruchomić Python i sprawdzić wersję:

py

Aby sprawdzić tylko, którą wersję posiadasz:

py --version

lub

py -V    # Make sure it is a capital V

Uwaga: python, python --version, python -V, Python, Python --version, Python -Vnie działa dla mnie.


python -Vdziała z powrotem do Fedory 1 z Python 2.2.3. py --versionpowoduje w command not found. python --versionpowoduje w unknown option: --.
jww

4

Jeśli jesteś już w oknie REPL i nie widzisz wiadomości powitalnej z numerem wersji, możesz użyć help (), aby zobaczyć wersję główną i podrzędną:

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

3

Aby sprawdzić wersję Python w notatniku Jupyter, możesz użyć:

from platform import python_version
print(python_version())

aby uzyskać numer wersji, jako:

3.7.3

lub:

import sys
print(sys.version)

aby uzyskać więcej informacji, jak

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

lub:

sys.version_info

aby uzyskać wersje główne, mniejsze i mikro, jak

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

2

Po prostu utwórz plik z rozszerzeniem .py i wklej poniższy kod do i uruchom go.

#!/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(),
))

Jeśli w systemie zainstalowanych jest kilka wersji interpretera Python, uruchom następujące polecenia.

W systemie Linux uruchom w terminalu:

ll /usr/bin/python*

W systemie Windows uruchom w wierszu polecenia:

dir %LOCALAPPDATA%\Programs\Python

Pytanie dotyczyło systemu Windows, a nie Linux.
Peter Mortensen

2

Aby zweryfikować wersję Pythona dla poleceń w systemie Windows, uruchom następujące polecenia w wierszu polecenia i sprawdź dane wyjściowe:

c:\> python -V
Python 2.7.16

c:\> py -2 -V
Python 2.7.16

c:\> py -3 -V
Python 3.7.3

Ponadto, aby zobaczyć konfigurację folderu dla każdej wersji Pythona, uruchom następujące polecenia:

For Python 2, 'py -2 -m site'
For Python 3, 'py -3 -m site'

1

W systemie Windows 10 z 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

Jeśli masz zainstalowany Python, najłatwiejszym sposobem sprawdzenia numeru wersji jest wpisanie „python” w wierszu polecenia. Wyświetli numer wersji, a jeśli jest uruchomiony w wersji 32-bitowej lub 64-bitowej i kilka innych informacji. W przypadku niektórych aplikacji chcesz mieć najnowszą wersję, a czasem nie. To zależy od pakietów, które chcesz zainstalować lub użyć.


1
Jest to praktycznie identyczne z odpowiedzią poy .
Peter Mortensen

1

Dla mnie otwieranie CMD i bieganie

py

pokaże coś podobnego

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
Czy to w systemie Windows? Jaka implementacja Python? Anakonda ? (Odpowiedz, edytując swoją odpowiedź , nie w komentarzach (w stosownych przypadkach))
Peter Mortensen


0

Wpisanie where pythonw Windows wiersza polecenia może ci powiedzieć, gdzie zainstalowano wiele różnych wersji Pythona, zakładając, że zostały dodane do twojej ścieżki.

Wpisanie python -Vw wierszu polecenia powinno wyświetlić wersję.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.