【发布时间】:2019-05-03 09:50:26
【问题描述】:
我已将模块 A.py 和 B.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.py 也不存在B.py 的环境,运行pip install P,并在Python 中执行以下操作
from P.A import a
a()
然后我得到错误No module named B。
我该如何解决这个问题?
【问题讨论】:
-
您确定 B.py 包含在 P.whl 中吗?
-
I have packaged modules A.py and B.py into a PyPI package P.你的意思是你有python模块P,你有A.py和B.py,你能不能给我P的目录结构? -
A.py和B.py最初位于同一目录下。P不是一个模块,而是一个 pip 包(参见 PyPi)。 -
from P.B import b或from .B import b