python 的跨包引用

发布时间:2019-09-08 09:12:32编辑:auto阅读(1902)

          python的跨包引用方法

         假设包的层次结构如下:

    package1/
        __init__.py
        subPack1/
            __init__.py
            module_11.py
            module_12.py
            module_13.py
        subPack2/
            __init__.py
            module_21.py
            module_22.py
        现在假设subPack2 中的module_21需要引用 subPack1中的模块module_11的funcA,则引用语法为:

    from subPack1.module_11 import funcA
        但是这样引用存在一个缺点:当模块module_21 以if __name__=="__main__" 方式运行时,会产生以下错误:
    No module named subPack1.module_11
       只能在package1目录下以if __name__=="__main__" 方式运行其他脚本


关键字