파이썬 모듈/패키지 찾는 순서
1. sys.mmodules
2. built-in modules
3. sys.path
sys는 파이썬에 포함되어 있는 모듈이기 때문에 sys 모듈을 import해서 sys.modules와 sys.path를 출력, 수정이 가능
import sys
print(sys.path)
print(sys.modules)
-> 일반적으로 절대 경로 사용
참고 https://docs.python.org/3/tutorial/modules.html#intra-package-references
ImportError: attempted relative import with no known parent package
->부모 패키지가 없는 상태에서 상대 경로로 import시도해서 발생한 에러
해결방법
메인모듈로 사용하려는 모듈은 항상 절대 가져오기를 사용!!!!
from .calculator.add_and_multiply import add_and_multiply
에서
from calculator.add_and_multiply import add_and_multiply로 변경하니 아래 사진과 같이 오류가 없어짐
상대경로로 임포트했을 때 에러가 나옴
메인모듈을 기본 모듈로 사용하기 위해서는 절대경로 사용
init.py 파일에 코드가 없어도 해당 디렉토리가 패키지임을 알려준다