使用方法导入的python模块,而无需显式调用import

时间:2019-01-13 13:41:28

标签: python pip python-import colorama

我有一些代码要在其中使用colorama终端着色,但要这样做(因为此代码将在不同的机器上运行),我需要确保colorama模块存在于当前PC上,如果没有,请从在代码中,然后将其导入。

目前我有这个:

def import_or_install(package, version):
    try:
        __import__(package)
    except ImportError:
        subprocess.call([sys.executable, '-m', 'pip', 'install', '{}=={}'.format(package, version)])

在我的情况下,程序包是“ colorama”,版本是“ 0.4.1”,但是当我运行以下命令时,出现一个错误,提示“未定义名称'colorama'”,我不知道如何使用通过import_or_install安装colorama之后。

if __name__ == "__main__":
    import_or_install("colorama", "0.4.1")

    colorama.init()
    print(colorama.Fore.RED, 'some red text')
    print(colorama.Back.GREEN, 'and with a green background')
    print(colorama.Style.DIM, 'and in dim text')
    print(colorama.Style.RESET_ALL)
    print('back to normal now')

我将非常感谢您对如何进行这项工作的解释(也许使用第二个python代码进行安装,然后运行主要代码?)

0 个答案:

没有答案