calculator package 를 직접 만들고 import 해보자
다음과 같은 구조의 package를 만들었다.
그런데 위처럼 main.py에서 상대경로로 add_and_multiply module의 함수를 import 했더니 ImportError: attempted relative import with no known parent package
에러를 뱉었다
무슨 말이냐면 부모패키지도 모르는데 감히 상대경로로 import를 시도했다는 내용이다
상대경로 import 를 하려면 이 파이썬 파일을 모듈로써 import 해야한다.
따라서 위의 error를 해결하기 위해서는
이처럼 절대경로로 수정해주면 된다.
그러면 위의 모듈중 app_and_multiply 에서 multiply function을 import 해보자
상대경로
-> 위의 error와 같이 부모패키지 못찾겠다고 나온다
절대경로
-> calculation 이라는 module name이 없다고 나온다.
그러면 어떻게??
-> 동일한 dir 내에 있기 때문에 from module import function 만 해주어도 된다.