【发布时间】:2020-05-28 12:54:52
【问题描述】:
我在一个 python 包中,其中有 A.py、B.py 和一个允许我将包导入上述目录的 init 文件。
因此,我的init文件的内容如下:
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
我现在想将一个 B.py 的类导入 A.py。我尝试使用from B import myClass,但它不起作用。我还尝试通过将此行添加到 init 文件中来将文件添加到路径中:
__path__.append(__file__)
如何将B.py添加到路径中?
--编辑--
为了澄清事情,这是我的包和模块的结构:
|app.py
|package1
|__init__.py
|C.py
|package2
|__init__.py
|A.py
|B.py
在 A.py 中我需要从 B.py 和 C.py 导入类
【问题讨论】:
-
能否请edit您的问题显示您的文件布局? “将包导入上面的目录”是什么意思?目前尚不完全清楚您要做什么。您是否有理由不使用相对导入,即
from .B import myClass(注意.)? -
我刚刚编辑了我的问题。是不是更清楚了?
-
是的,这确实更清楚了。能否请您解释一下为什么不使用相对导入,例如
from .B import myClass和from ..C import myClass? -
是的,它正在使用
from .B import myClass
标签: python python-3.x import python-import