[PYTHON] 내장 모듈과 이름이 같은 모듈을 가져 오려고하면 가져 오기 오류가 발생합니다.
PYTHON내장 모듈과 이름이 같은 모듈을 가져 오려고하면 가져 오기 오류가 발생합니다.
내장 모듈과 충돌하는 모듈이 있습니다. 예를 들어, myapp / email.py에 정의 된 myapp.email 모듈.
내 코드에서 myapp.email을 문제없이 참조 할 수 있습니다. 그러나 전자 메일 모듈에서 내장 전자 메일 모듈을 참조해야합니다.
# myapp/email.py
from email import message_from_string
myapp.email에는 message_from_string 메소드가 없으므로 자체적으로 만 찾으면되므로 ImportError가 발생합니다. 전자 메일 가져 오기에서 email.message_from_string을 시도 할 때 동일한 문제가 발생합니다.
파이썬에서이 작업을 수행 할 기본 지원이 있습니까? 아니면 "전자 메일"모듈의 이름을 좀 더 구체적으로 변경해야합니까?
해결법
-
==============================
1.이 바로 그 문제를 다루는 절대 및 상대 수입에 대해 읽고 싶을 것입니다. 용도:
이 바로 그 문제를 다루는 절대 및 상대 수입에 대해 읽고 싶을 것입니다. 용도:
from __future__ import absolute_import
이것을 사용하면 꾸밈없는 패키지 이름은 항상 최상위 패키지를 참조합니다. 그런 다음 자신의 패키지에 액세스하기 위해 상대 import (.email import ...)를 사용해야합니다.
참고 : 위의 ... 라인은 여러분이 사용하고있는 import ... 라인 위의 2.x Python .py 파일에 넣어야합니다. 파이썬 3.x에서는 이것이 기본 동작이므로 더 이상 필요하지 않습니다.
from https://stackoverflow.com/questions/1224741/trying-to-import-module-with-the-same-name-as-a-built-in-module-causes-an-import by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬에서 개인 및 보호 된 메소드의 상속 (0) | 2018.10.04 |
---|---|
[PYTHON] 고급 중첩 목록 이해 구문 (0) | 2018.10.04 |
[PYTHON] 대화 형 Matplotlib 수치 저장 (0) | 2018.10.04 |
[PYTHON] 다중 상속을 가진 부모 클래스 __init__을 호출하는 것이 옳은 방법일까요? (0) | 2018.10.04 |
[PYTHON] 하위 프로세스 : Windows에서 하위 프로세스 삭제 (0) | 2018.10.04 |