2017-08-06 4 views
5

Est-il possible de vérifier la version d'un paquet si seulement un module est importé?Version imprimable d'un module sans importer le paquet entier

Lorsqu'un paquet est importé comme ...

import pandas as pd 

J'utilise:

print('pandas : version {}'.format(pd.__version__)) 

pour imprimer le numéro de version.

Comment puis-je vérifier le numéro de version, si seulement un module est importé, comme

import matplotlib.pyplot as plt 

ou

from sklearn.metrics import confusion_matrix 

Toutes les suggestions?

Répondre

3

que je fais habituellement ceci:

import matplotlib.pyplot as plt 
import sys 

print (sys.modules[plt.__package__].__version__) 

si vous importez seulement une fonction:

from sklearn.metrics import confusion_matrix as function 
import sys 

try:module_name = function.__module__[:function.__module__.index(".")] 
except:module_name = function.__module__ 

print (sys.modules[module_name].__version__) 

et si cela ne fonctionne pas, vous pouvez simplement importer pip et for boucle tous les modules.

+0

Merci! Et comment puis-je vérifier le numéro de version de sklearn lorsque j'utilise "from sklearn.metrics import confusion_matrix". – Rene

+0

Malheureusement, cela ne fonctionne pas sur ma machine (Windows 10, Python 3.6.2). – Rene

+0

Si vous aimez ma réponse pouvez-vous s'il vous plaît l'accepter? @Rene – Veltro