Qual versão do Python eu tenho instalada?


457

Eu tenho que executar um script Python em um servidor Windows. Como posso saber qual versão do Python tenho e isso realmente importa?

Eu estava pensando em atualizar para a versão mais recente do Python.


2
Sim, o número da versão (principal) é importante. Certifique-se de selecionar a documentação python que corresponde à sua versão python.
André Caron

Se você também deseja descobrir o que o Python está associado aos .pyarquivos, pode estar interessado em um arquivo em lotes em Como gravar um arquivo em lotes mostrando o caminho para o executável e a versão do Python que manipula scripts Python no Windows?
Piotr Dobrogost

2
Relacionado: Existe uma maneira garantida de ver todas as versões do Python disponíveis / instaladas no seu sistema Linux?
Dennis

1
@esteban: Nenhuma das respostas é específica do Windows e os títulos não precisam de tags. Revertida.
Wooble 17/01

1
Tópico relacionado para verificar a versão python do script / programa python - Como verifico qual versão do Python está executando meu script?
RBT

Respostas:


618
python -V

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

--version também pode funcionar (introduzido na versão 2.5)


3
Na minha máquina Windows 8.1 Pro, Python 2.7.10 saídas Python 2.7.10para -Ve --version; e o Python 3.4.3 também gera saídas Python 3.4.3para as duas opções.
J0e3gan

2
você também pode ter várias outras versões do python, algo como isso sudo find / -iname pythonprovavelmente as descobriria.
PatrickT

4
@PatrickT este post era sobre python no Windows Server, sudo e achado iria confundir alguns novatos, como eles não iria funcionar no Windows
Michael B.

13
não deve ser confundido com python -v(em minúsculas v), que aumenta a verbosidade de registro
joelb

3
Se você estiver criando uma API, considere permitir ambos -ve -versionaliases. Claramente, cerca de 500 desenvolvedores tiveram que procurar e atualizar esta resposta para Python no SO. É um projeto ruim
P.Brian.Mackey

133

Python 2.5 ou superior:

python --version

Python 2.4-:

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

Nota: O intérprete não pode usar a mesma versão do Python que a que executa seus scripts. Eu acho que há algumas circunstâncias em que, por padrão, seu intérprete é o Python 3, mas seus scripts são executados no Python 2 (necessário #!python3como primeira linha).
18714 Leewz

1
NOTA: No Windows, você precisa acessar o "Python (linha de comando)" para inserir as etapas acima.
HPWD

Esta resposta é mais útil, o script teria capacidade, para executar ou não.
AjayKumarBasuthkar

Isso funcionou para mim quando usei aspas duplas na declaração. python -c "import sys; print sys.version"
S3DEV 5/02

Você pode atualizar sua resposta wrt. para o Windows? Veja outros comentários. Desde já, obrigado.
Peter Mortensen

123

Em um IDE Python, basta copiar e colar o código a seguir e executá-lo (a versão aparecerá na área de saída):

import sys
print(sys.version)

3
Isso responde à pergunta "qual versão estou executando", que resolveu um problema que eu estava tendo com as configurações do ambiente (obrigado). Muitos computadores têm várias versões do Python instaladas.
Francesco Napolitano

2
Esta é mais útil do que o comando -v, uma vez que diz arquitetura do Python instalado (32 ou 64 bits)
Abouzar Nouri

1
Essa também é uma boa solução, pois funciona para o Python 3.x
Ganesh Kamath - 'Code Frenzy'

Funciona bem no Anaconda Spyder IDE. Alternativamente, em um Prompt Anaconda normal pode usar python --version
vinsinraw

Mas isso está em um servidor Windows. Pode não haver um IDE instalado.
22419 Peter Mortensen


24

Quando abro, Python (command line)a primeira coisa que me diz é a versão.


1
Essa deve ser a resposta certa para o Windows. Eu tentei por horas com "python", mas não funcionou. Então eu digitei "Python", que funcionou. +1 para fornecer corretamente o comando.
Natasha

Você quer dizer pressionar a tecla Windows e digitar "Python" ? Ou alguma outra coisa?
Peter Mortensen

23

Embora a pergunta seja "qual versão estou usando?", Isso pode não ser tudo o que você precisa saber. Você pode ter outras versões instaladas e isso pode causar problemas, principalmente ao instalar módulos adicionais. Esta é minha abordagem aproximada para descobrir quais versões estão instaladas:

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

A saída para uma única instalação Python deve ser algo como isto:

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

Várias instalações terão saída parecida com esta:

/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? Isso é Linux. A pergunta era sobre um servidor 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

então na linha de comando:

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

7

Usar

python -V

ou

python --version

NOTA: Observe que o "V" no python -Vcomando é capital V. python -v(pequeno "v") iniciará o Python no modo detalhado.


Funcionará em um servidor Windows?
Peter Mortensen

5

Você pode obter a versão do Python usando o seguinte comando

python --version

Você pode até obter a versão de qualquer pacote instalado no venv usando pip freezecomo:

pip freeze | grep "package name"

Ou usando o interpretador Python como:

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

5

Eu tenho o Python 3.7.0 no Windows 10.

Isto é o que funcionou para mim no prompt de comando e no Git Bash :

Para executar o Python e verificar a versão:

py

Para verificar apenas qual versão você possui:

py --version

ou

py -V    # Make sure it is a capital V

Nota: python, python --version, python -V, Python, Python --version, Python -Vnão funcionou para mim.


python -Vtrabalha de volta ao Fedora 1 com o Python 2.2.3. py --versionresulta em command not found. python --versionresulta em unknown option: --.
JWW

4

Se você já está em uma janela REPL e não vê a mensagem de boas-vindas com o número da versão, pode usar help () para ver as versões principal e secundária:

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

3

Para verificar a versão do Python em um notebook Jupyter, você pode usar:

from platform import python_version
print(python_version())

para obter o número da versão, como:

3.7.3

ou:

import sys
print(sys.version)

para obter mais informações, como

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

ou:

sys.version_info

para obter versões maiores, menores e micro, como

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

2

Basta criar um arquivo que termine com .py e cole o código abaixo e execute-o.

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

Se várias versões do interpretador Python estiverem instaladas em um sistema, execute os seguintes comandos.

No Linux, execute em um terminal:

ll /usr/bin/python*

No Windows, execute em um prompt de comando:

dir %LOCALAPPDATA%\Programs\Python

A pergunta era sobre o Windows, não o Linux.
Peter Mortensen

2

Para verificar a versão do Python para comandos no Windows, execute os seguintes comandos em um prompt de comando e verifique a saída:

c:\> python -V
Python 2.7.16

c:\> py -2 -V
Python 2.7.16

c:\> py -3 -V
Python 3.7.3

Além disso, para ver a configuração da pasta para cada versão do Python, execute os seguintes comandos:

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

1

No Windows 10 com 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

Se você possui o Python instalado, a maneira mais fácil de verificar o número da versão é digitando "python" no prompt de comando. Ele mostrará o número da versão e se está sendo executado em 32 ou 64 bits e algumas outras informações. Para alguns aplicativos, você gostaria de ter uma versão mais recente e, às vezes, não. Depende de quais pacotes você deseja instalar ou usar.


1
Isso é praticamente idêntico à resposta de poy .
22819 Peter Mortensen

1

Para mim, abrir o CMD e executar

py

mostrará algo como

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
Isso está no Windows? Qual implementação de Python? Anaconda ? (Responder por editar a sua resposta , não aqui nos comentários (conforme o caso))
Peter Mortensen


0

Digitar where pythonno Windows em um prompt de comando pode indicar onde várias versões diferentes do python estão instaladas, desde que tenham sido adicionadas ao seu caminho.

Digitar python -Vno prompt de comando deve exibir a versão.


-1

Principalmente comandos de uso:

python -version

Ou

python -V
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.