Python3 导入一个尚未安装的包

Python3 import a yet non installed package

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

/
 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,这是合乎逻辑的,因为我的第一个脚本应该安装它,然后调用将使用它的另一个脚本。

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

谢谢

除非你需要,否则不要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()