PyPi 打包的不同模块之间的导入是如何工作的?

How do imports between different modules packaged by PyPi work?

我已将模块 A.pyB.py 打包到 PyPI 包 P 中。在 A.py 中,有一个函数 a()B.py 导入函数 b()。即,A.py 看起来像

from B import b

def a():
    <some `a` code>
    b()

B.p看起来像

def b():
    <some `b` code>

正如我所说,两个模块都打包到 P 中。然后我去到一个A.pyB.py都不存在的环境,运行pip install P,然后在Python

中执行以下操作
from P.A import a

a()

然后我收到错误 No module named B

我该如何解决这个问题?

在 A.py 中使用 import as

from .B import b