为什么我在导入虚拟环境中构建的包中的模块时收到错误消息?

Why am I receiving an error when importing modules housed in a package built in a Virtual Environment?

当我在虚拟环境中 运行 我的代码时,我得到的输出与我在虚拟环境之外的容器中 运行 代码时得到的输出不同。 AB.py 中的相同文件结构、相同的代码以及 init.py 和 AB.py 文件中的相同导入语句。有关更多详细信息,请参见图像。非常基本,但我只是想知道当父容器位于虚拟环境中时,为什么 python 无法识别我的模块之一。谢谢!

    Container A
    >AB.py
    >>Package_A
    >>>>__init__.py,
    >>>>Module_A.py,
    >>>>Module_B.py,
    >>>>Module_C.py
    
    
    Virtual Environment Container A
    >AB.py
    >>Package_A
    >>>>__init__.py,
    >>>>Module_A.py,
    >>>>Module_B.py,
    >>>>Module_B.py

[See image here] : https://i.stack.imgur.com/RJGpk.png

    ## Package AB.py     
    from Package_A import Mod_A, Mod_B, Mod_C
    Module_A.Func_A()
    Module_B.Func_B()
    Module_C.Func_C()
    
    
    ## __init__.py
    from a import func_a
    from b import func_b
    
    ## Module_A.py
    def Func_A():
        print("how")
    
    
    ## Module_B.py
    def Func_B():
        print("are")
    
    
    ## Module_C.py
    def Func_C():
        print("you")
    

运行 AB.py 容器中 Returns

how
are
you

运行 AB.py 在虚拟环境中 Returns

ModuleNotFoundError: No module named 'a'

找到解决方案,我需要在我的 init.py 文件中更改我的导入 lin。我将其更改为:

    from a import func_a
    from b import func_b

    from .a import func_a
    from .b import func_b

venv 和非 venv 都是这种情况。我没有指定父文件夹。