我可以使用函数导入或安装模块

时间:2016-10-26 11:02:51

标签: python function python-import

我正在运行Windows 7,Python 2.7,Anaconda 4.0.0:

这就是我想要做的。我想把这段代码放在一个函数中。

try:
    import easygui
except ImportError:
    from os import system
    system('pip install easyqui')
    import easygui
else:
    pass

这是我提出的,但我无法让它发挥作用。

def install(mypack):
    try:
        import mypack
    except ImportError:
        from os import system
        system('pip install ' + str(mypack))
        import mypack
    else:
        pass
install('easygui')

我得到的错误是" ImportError:没有名为mypack的模块"。

1 个答案:

答案 0 :(得分:2)

import语句从字面上理解模块名称,而不仅仅是对其他对象的引用。因此import mypack不会转换为import easygui,而是导入模块mypack

相反,您应该使用带有名称/字符串的内置__import__

__import__(mypack)