Comment vérifier la version des modules python ?

Je viens d'installer les modules python : construct et statlib avec setuptools comme ceci :

# 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

Je veux pouvoir vérifier (de manière programmatique) leurs versions. Existe-t-il un équivalent de python --version que je peux exécuter en ligne de commande ?

Ma version de python est 2.7.3.

Solution

Je suggère d'utiliser [pip à la place de easy_install] (https://stackoverflow.com/a/3220572/1265154). Avec pip, vous pouvez lister tous les paquets installés et leurs versions avec

pip freeze

Dans la plupart des systèmes linux, vous pouvez utiliser grep (ou findstr sous Windows) pour trouver la ligne du paquet qui vous intéresse :

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

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

Pour un module individuel, vous pouvez essayer l'attribut [__version__] (http://www.python.org/dev/peps/pep-0396/), mais certains modules n'en ont pas :

$ 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__'

Enfin, comme les commandes de votre question sont préfixées par sudo, il semble que vous installiez dans l'environnement global de python. Nous vous conseillons vivement de consulter les gestionnaires d'environnement virtuel de python, par exemple virtualenvwrapper.

Commentaires (7)

Vous pouvez essayer

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

>>> import construct
>>> print contruct.__version__
Commentaires (8)

Je pense que cela peut aider mais d'abord installer show le paquet afin de lancer pip show puis utiliser show pour trouver la version !

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