gpt4 book ai didi

python - 如何在不运行脚本的情况下检查是否安装了 Python 脚本导入的所有模块?

转载 作者:太空宇宙 更新时间:2023-11-04 07:43:04 25 4
gpt4 key购买 nike

我想在实际运行脚本之前检查脚本导入的所有模块是否都已安装,因为脚本非常复杂并且通常会运行多个小时。此外,它可能会根据传递给它的选项导入不同的模块,因此仅运行一次可能无法检查所有内容。因此,我不希望在新系统上运行此脚本几个小时后发现它由于缺少模块而在完成之前就失败了。

显然,pyflakes 和 pychecker 在这里没有帮助,如果我错了请纠正我。我可以这样做:

$ python -c "$(cat *.py|grep import|sed 's/^\s\+//g'|tr '\n' ';')"

但它不是很健壮,例如,如果“import”一词出现在字符串中,它就会崩溃。

那么,我怎样才能正确地完成这项任务呢?

最佳答案

您可以使用标准库 modulefinder 中的 ModuleFinder使用 docs 中的示例

from modulefinder import ModuleFinder
finder = ModuleFinder()
finder.run_script('bacon.py')

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

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

关于python - 如何在不运行脚本的情况下检查是否安装了 Python 脚本导入的所有模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15200543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com