我在計算如何在Python中執行相對導入時遇到了一些麻煩。我目前正在研究我的第一個主要項目,所以我想用單元測試來做。但是,我遇到了我的文件結構和相關導入問題。Python中的相對導入混亂
這是我目前的結構:
App/
__init__.py
src/
__init__.py
person.py
tests/
__init__.py
person_tests.py
我想要做的是能夠導入到person.py爲person_tests.py單元測試。我曾嘗試以下:
from . import person
from .. import person
from .App.src import person
from ..App.src import person
from ..src.person import *
from ..src import person
from .src import person
每上述之一拋出任何語法錯誤或
ValueError: Attempted relative import in non-package
可有人請澄清這一點給我嗎?
編輯:Python版本是2.7。 編輯:我希望能夠用unittest或nose來使用它。
我認爲在大多數情況下,絕對進口是首選方式。 [一些閱讀](http://www.python.org/dev/peps/pep-0328/#rationale-for-absolute-imports)(不要錯過之後關於相對導入的部分)。 – keyser
您可以在「App」目錄中添加一個(可能)空的「__init __。py」文件,使其成爲一個包 –
糟糕。我忘了提及我在App目錄中有一個'__init __。py'文件。更新問題。 – firstofth300