Я пытаюсь следовать PEP 328 со следующей структурой каталогов:
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
У core_test.py
меня есть следующее заявление на импорт
from ..components.core import GameLoopEvents
Однако, когда я запускаю, я получаю следующую ошибку:
tests$ python core_test.py
Traceback (most recent call last):
File "core_test.py", line 3, in <module>
from ..components.core import GameLoopEvents
ValueError: Attempted relative import in non-package
При поиске я обнаружил, что « относительный путь не работает даже с __init__.py » и « Импортировать модуль из относительного пути », но они не помогли.
Есть что-то, что я здесь скучаю?
no module named myimports.foo
когда я управляю ими.
cd
в PyImports
, и запустить python -m unittest tests.test_abs
, например.
unittest
проектов, поэтому я написал этот довольно исчерпывающий пример проекта, который охватывает глубокое вложение модулей, относительный и абсолютный импорт (где работают и нет), а также относительные и абсолютные ссылки изнутри пакет, а также одиночный, двойной и импорт классов на уровне пакета. Помогите прояснить вещи прямо для меня!