需要帮助查找和打印所用模块的所有版本?

时间:2015-09-15 03:44:52

标签: python module version

我正在尝试设置回归测试套件并在运行时合并系统配置。以下代码查找系统使用的大多数模块(及其版本):

import pkg_resources
import sys
for m in sys.modules:
    try:
        ml.append(m+'-'+pkg_resources.get_distribution(m).version)
    except:
        pass
print "# modules used:",sort(ml)

返回:

# modules used: ['IPython-4.0.0', 'PIL-1.1.7', 'bottleneck-1.0.0',
'decorator-4.0.2', 'ipykernel-4.0.3', 'ipython_genutils-0.1.0',
'jupyter_client-4.0.0', 'jupyter_core-4.0.4', 'matplotlib-1.4.3',
'numexpr-2.4.3', 'numpy-1.9.2', 'pandas-0.16.2', 'pexpect-3.3',
'pickleshare-0.5', 'pyparsing-2.0.3', 'pysal-1.10.0', 'pytz-2015.4',
'scipy-0.16.0', 'simplegeneric-0.8.1', 'six-1.9.0', 'tornado-4.2.1',
'traitlets-4.0.0', 'xlsxwriter-0.7.3']

但并非所有这些都有。快速检查以下内容:

ml = ['sklearn-'+sklearn.__version__,
      'osgeo-'+osgeo.__version__]
print "# package versions:",sort(ml)

返回:

# package versions: ['osgeo-2.0.0' 'sklearn-0.16.1']

在主脚本中安装和使用。我还应该补充一些报告的模块,如龙卷风和xlsxwriter,而不是直接调用或使用,而一些直接导入代码的模块未找到。

有没有人知道一个技巧来报告从脚本中调用的那些,或者至少有一个不会错过重要脚本的技巧?

0 个答案:

没有答案