2017-08-06 53 views
5

如果只导入模块,是否可以检查包的版本?模块的打印版本无需导入整个包

当一个包被导入像...

import pandas as pd 

我用:

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

打印的版本号。

如何检查版本号如果只是导入模块,像

import matplotlib.pyplot as plt 

from sklearn.metrics import confusion_matrix 

有什么建议?

回答

3

我经常这样做:

import matplotlib.pyplot as plt 
import sys 

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

如果导入只是一个函数:

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__) 

,如果这也不行,你可以只导入PIP和for循环中的所有模块。

+0

谢谢!当我使用“from sklearn.metrics import confusion_matrix”时,如何检查sklearn的版本号。 – Rene

+0

不幸的是,这在我的机器上不起作用(Windows 10,Python 3.6.2)。 – Rene

+0

如果你喜欢我的回答,你能接受吗? @Rene – Veltro