如何通过运行Python或IPython实例的内省列出需求包?
我经常从一个非常负载的conda环境开始开发,该环境具有完整的Anaconda发行版并且安装了更多。当我希望共享代码时,我希望能够为pip吐出requirements.txt
或者为conda吐出environment.yml
仅包含解释器中正好加载的包。
我该怎么做?
答案 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()))