자신이 작성한 여러 경로의 python 파일을 호출하려고 할때 생기는 문제점 해결 방법
(Python Error) ImportError: attempted relative import with no known parent package 발생 이유
//-------------------------------------
- 개념
모듈(Module) : 다른 파일에서 import해서 사용하는 Python 파일
패키지(Package) : 모듈을 가진 폴더
- 규칙
import는 같은 패키지나 하위 패키지(폴더)에서 가능,
상위 패키지(폴더)의 모듈을 import 불가
상위 폴더에 위치한 모듈을 호출하려고 할때 에러 발생
파이썬 에러 메시지 - ImportError: attempted relative import with no known parent package
//-----------------------------------------------------------------------------
< 모듈 import 방법 >
# 절대 경로 - 하위폴더 import시 가능
from Utils import util2 as lib
# 하위폴더 import
import Utils.util2 as lib
# 상대 경로 - 안됨, 상위폴더 import불가
from ..Utils import util2
- 에러 발생 - ImportError: attempted relative import with no known parent package
//-------------------------------------
- 사용자 패키지 경로 지정 방법 1
# 함수 이용 시스템 경로 추가
sys.path.append("D:\\Python\\Utils")
# import 모듈파일
import util2 as lib
//-------------------------------------
- 사용자 패키지 경로 지정 방법 2
# 환경변수 PYTHONPATH 설정 방법 - 외부에서 환경변수 설정해야 됨
# os.environ["PYTHONPATH"] += "D:\\Python\\Utils" # 내부설정은 작동 안함
# import 모듈파일
import util2 as lib
//-------------------------------------
< 참고 >
https://stackoverflow.com/questions/16981921/relative-imports-in-python-3
'Code > Python' 카테고리의 다른 글
SRT 자막 파일을 SMI 파일로 변환 시키는 소스 코드 (0) | 2024.06.18 |
---|---|
SMI 자막 파일을 SRT 파일로 변환 코드 소스 (0) | 2024.06.18 |
[Python] Django 시작하기 (0) | 2023.08.11 |
[Python] 구글 코랩 사용법 (0) | 2023.02.15 |
[Python] 주피터 노트북(Jupyter Notebook) 사용법 (0) | 2023.02.15 |