Python3导入尚未安装的软件包

时间:2015-06-09 09:19:06

标签: python python-import

首先,这是我项目的外观:

/
 scriptA.py 
 scriptB.py
 /redist/
        /mod1/
             /setup.py

以下是正在发生的事情的快速细节:

scriptA.py

import scriptB
def install_MyMod():
    #some code that install mod1 in the python3 /dist-packages

def other_Stuff():
    return scriptB.stuff()

或者,问题是scriptB需要运行mod1:

scriptB.py

import mod1 as mm
def stuff():
    return mm.some_Function()

问题是每当我启动scriptA时,我都会收到一条错误,说scriptB无法导入mod1,这是逻辑上的,因为我的第一个脚本应该安装它,然后调用另一个将使用它的脚本。

有没有办法避免这个错误?

由于

1 个答案:

答案 0 :(得分:3)

不要import scriptB直到你需要它为止。例如,将import语句放在other_Stuff()函数中:

def install_MyMod():
    #some code that install mod1 in the python3 /dist-packages

def other_Stuff():
    import scriptB
    return scriptB.stuff()