導入模塊我有一個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