이 질문은 여러 번 요청되었지만 제공되는 솔루션 중 어느 것도 내 경우에는 작동하지 않습니다. 내 프로젝트 구조는 다음과 같다 : 부모 및 형제 패키지에서 파이썬 모듈을 가져 오는 방법
| project_2
main.py
__init__.py
systems.py
| config
__init__.py
options.py
| database
__init__.py
database.py
entity.py
| tests
__init__.py
test_systems.py
test_options.py
test_database.py
test_entity.py
은 분명히 내가 테스트 패키지에서 테스트 모듈에있는 모든 모듈을 가져와야합니다.
from ..systems import System
from ..config import options
from ..database.entity import Entity
가 돌려 ValueError를 : 나는 도트 구문 상대적으로 수입을 시도되지 않은 패키지에 상대적 가져 오기를 시도합니다. 나는 모든 것을 (시스템을 포함하여) 자체 패키지에 포함하고있는 패키지 구조로 시도했다. 동일한 메시지로 실패합니다.
내게 정말 귀찮은 것은 이것이 작동해야한다는 것입니다 : PEP 328,하지만 그렇지 않습니다. 필자는 $ PYTHONPATH에 패키지를 추가하지 않거나 파일 경로에서 imp로 모듈을로드하는 것과 같은 정신없는 방법을 사용하고 싶지 않습니다.
필자는 systems.py가 메인 패키지에있는 것일 수 있지만, 나머지 수입은 왜 작동하지 않는지에 대해서는 설명하지 못했다.
P. 실제로 PEP 328의 예제를 테스트 해 보았지만 작동하지 않습니다.