【问题标题】:How can I install a library in script as well as importing it?如何在脚本中安装库以及导入它?
【发布时间】:2017-12-31 20:06:08
【问题描述】:

我想在脚本中测试是否安装了所有必需的库,如果没有,安装它。这是我的代码:

libs = ['lib1','lib2','lib3']
def import_m(name):
    try:
        import name 
    except:
        pip.main(['install',name])
        import name                    #look at this line
for i in libs:
        import_m(i)
print("Done importing %s." % i)

但是在运行时会引发一个执行:

ImportError: No module named name

此执行中提到的行由注释指示。

我该如何解决?

【问题讨论】:

  • 从检查pip.main的返回值开始
  • @tkhurana96 你说的返回值是什么意思?
  • 看看this link
  • @tkhurana96 它确实返回 0。
  • Installing python module within code 的可能重复项。错误显示No module named name,即使您实际安装的是lib1lib2lib3import name 从字面上导入 name,而不是 name 变量的值。

标签: python pip python-import


【解决方案1】:

你需要

导入库

为了这个功能。

回答了类似的问题here

根据您的要求,您可以先尝试使用

导入库

globals()['module_name'] = importlib.import_module('module_name')

如果它抛出异常,你只需要安装它并再次运行上面的代码。不要尝试再次运行import module_name。如果module_name 成功存储在全局变量中,那么一切顺利。

【讨论】:

    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    相关资源
    最近更新 更多