在Python

时间:2017-07-28 00:40:25

标签: python pip conda introspection requirements.txt

如何通过运行Python或IPython实例的内省列出需求包?

我经常从一个非常负载的conda环境开始开发,该环境具有完整的Anaconda发行版并且安装了更多。当我希望共享代码时,我希望能够为pip吐出requirements.txt或者为conda吐出environment.yml仅包含解释器中正好加载的包。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以使用python内置包modulefinder来测试脚本中的模块。类似的东西:

from modulefinder import ModuleFinder

finder = ModuleFinder()
finder.run_script('bacon.py')

print('Loaded modules:')
for name, mod in finder.modules.items():
    print('%s: ' % name, end='')
    print(','.join(list(mod.globalnames.keys())[:3]))

print('-'*50)
print('Modules not imported:')
print('\n'.join(finder.badmodules.keys()))