다음 디렉토리 구조로 PEP 328 을 따르려고합니다 .
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
에서 core_test.py
나는 다음과 같은 import 문을
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
프로젝트 구성 방법에 대해 매우 혼란스러워서 모듈의 중첩, 상대 및 절대 가져 오기 (작업이 있고 그렇지 않은 경우) 및 상대 및 절대 참조를 다루는 상당히 철저한 샘플 프로젝트 를 작성했습니다 . 패키지, 단일, 이중 및 패키지 수준의 클래스 가져 오기. 나를 위해 바로 물건을 정리하는 데 도움이 되었습니다!