Como verificar a versão dos módulos python?

Acabei de instalar os módulos python: "Construir" e "construir" com "ferramentas" como esta:

# Install setuptools to be able to download the following
sudo apt-get install python-setuptools

# Install statlib for lightweight statistical tools
sudo easy_install statlib

# Install construct for packing/unpacking binary data
sudo easy_install construct

Quero ser capaz de (programático) verificar as suas versões. Existe um equivalente a python --version que eu possa executar a partir da linha de comando?

A minha versão python é 2.7.3.

Solução

Eu sugiro usar pip no lugar de easy_install. Com o pip, você pode listar todos os pacotes instalados e suas versões com

pip freeze

Na maioria dos sistemas linux, você pode pipear isto para grep(ou findstr no Windows) para encontrar a linha para o pacote em particular que você're interessado:

Linux:
$ pip freeze | grep lxml
lxml==2.3

Windows:
c:\> pip freeze | findstr lxml
lxml==2.3

Para um módulo individual, você pode tentar o atributo [`versão''(http://www.python.org/dev/peps/pep-0396/), porém existem módulos sem ele:

$ python -c "import requests; print(requests.__version__)"
2.14.2
$ python -c "import lxml; print(lxml.__version__)"
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'module' object has no attribute '__version__'

Finalmente, como os comandos em sua pergunta são prefixados com 'sudo', parece que você're está instalando para o ambiente global python. Aconselhamos vivamente a olhar para os gerentes python ambiente virtual, por exemplo virtualenvwrapper

Comentários (7)

Você pode tentar

>>> import statlib
>>> print statlib.__version__

>>> import construct
>>> print contruct.__version__
Comentários (8)

Eu acho que isso pode ajudar, mas primeiro instale show pacote para rodar pip show depois use show para encontrar a versão!

sudo pip install show
# in order to get package version execute the below command
sudo pip show YOUR_PACKAGE_NAME | grep Version
Comentários (6)