导入模块我有一个Python库,看起来像这样(含包装):歧义蟒蛇
|-- python_lib/
|-- plotting.py
|-- verification.py
|-- io.py
|
|-- ensemble/
| -- plotting.py
| -- verification.py
与暧昧模块导入不过,我有问题。在ensemble.plotting.py
我想导入从顶层verification.py
模块(python_lib
):
# ensemble/plotting.py
import verification.obs as verobs
不过,我得到一个导入错误,因为这将尝试从合奏目录中导入verification.py
模块,而不是最高级别图书馆。
我认为“abslute进口”功能将解决这个问题:
from ..verification import obs
,但我得到这个错误:
ValueError: Attempted relative import beyond toplevel package
如何定位python_lib/verification.py
从python_lib/ensemble/*.py
进口,但不尝试导入本地包版本?
我正在使用Python版本2.7。
'from python_lib.verification import obs'? – leovp
@leovp python_lib不是包,它只发生在源代码所在的基目录中。 – ccbunney
尝试添加名为__init__.py的每个子目录空文件。 看看这个https://stackoverflow.com/questions/11536764/how-to-fix-attempted-relative-import-in-non-package-even-with-init-py?rq=1也 – nivhanin