Hoe controleer ik de versie van python modules?

Ik heb zojuist de python modules geïnstalleerd: construct en statlib met setuptools zoals dit:

# 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

Ik wil in staat zijn om (programmatisch) hun versies te controleren. Is er een equivalent voor python --version dat ik vanaf de commandoregel kan uitvoeren?

Mijn python versie is 2.7.3.

Oplossing

Ik stel voor om pip in plaats van easy_install te gebruiken. Met pip kunt u een lijst van alle geïnstalleerde pakketten en hun versies maken met

pip freeze

In de meeste Linux systemen kun je dit naar grep(of findstr onder Windows) leiden om de rij te vinden voor het specifieke pakket waarin je'geïnteresseerd bent:

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

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

Voor een individuele module kunt u het __version__ attribuut proberen, maar er zijn modules zonder:

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

Tenslotte, omdat de commando's in uw vraag voorafgegaan worden door sudo, lijkt het erop dat u in de globale python omgeving aan het installeren bent. Het is sterk aan te raden om eens te kijken naar python virtuele omgeving managers, bijvoorbeeld virtualenvwrapper

Commentaren (7)

U kunt proberen

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

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

Ik denk dat dit kan helpen maar installeer eerst show package om pip show te draaien en gebruik dan show om de versie te vinden!

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