python 的跨包引用

2023-01-31 05:01:58 python 引用

      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__" 方式运行其他脚本


相关文章