在不导入整个包的情况下打印模块版本

Ren*_*ene 5 python import module packages version

如果只导入模块,是否可以检查包的版本?

当导入包时...

import pandas as pd
Run Code Online (Sandbox Code Playgroud)

我用:

print('pandas : version {}'.format(pd.__version__))
Run Code Online (Sandbox Code Playgroud)

打印版本号.

如果仅导入模块,如何检查版本号,如

import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)

要么

from sklearn.metrics import confusion_matrix
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Lia*_*iam 8

我通常这样做:

import matplotlib.pyplot as plt
import sys

print (sys.modules[plt.__package__].__version__)
Run Code Online (Sandbox Code Playgroud)

如果您只导入一个函数:

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__)
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,您可以导入 pip 并for循环所有模块。