반응형
내장 모듈과 이름이 같은 모듈을 가져 오려고하면 가져 오기 오류가 발생합니다.
기본 제공 모듈과 충돌하는 모듈이 있습니다. 예를 들어, myapp.email
모듈로 정의 myapp/email.py
.
myapp.email
문제없이 내 코드의 어디에서나 참조 할 수 있습니다 . 하지만 내 이메일 모듈에서 내장 이메일 모듈을 참조해야합니다.
# myapp/email.py
from email import message_from_string
그것은 단지 자신을 발견하고, 따라서를 제기 ImportError
하기 때문에, myapp.email
이없는 message_from_string
방법을. import email
시도 할 때 동일한 문제가 발생합니다 email.message_from_string
.
파이썬에서이 작업을 수행 할 수있는 기본 지원이 있습니까? 아니면 "이메일"모듈의 이름을 좀 더 구체적인 것으로 바꾸는 데 어려움을 겪고 있습니까?
이 문제를 해결하는 Absolute 및 Relative Imports 에 대해 읽고 싶을 것 입니다. 사용하다:
from __future__ import absolute_import
이를 사용하면 장식되지 않은 패키지 이름은 항상 최상위 패키지를 참조합니다. 그런 다음 상대 가져 오기 ( from .email import ...
)를 사용하여 자체 패키지에 액세스해야합니다.
참고 : 위의 from ...
줄 필요는 파이썬이 어떤 2.X에 투입되는 .py
위의 파일 import ...
사용중인 라인. Python 3.x에서는 이것이 기본 동작이므로 더 이상 필요하지 않습니다.
반응형
'Programing' 카테고리의 다른 글
DBCC CHECKIDENT는 ID를 0으로 설정합니다. (0) | 2020.11.12 |
---|---|
Sqlalchemy-for 루프에서 query와 query.all의 차이점 (0) | 2020.11.12 |
속성과 변수의 차이점은 무엇입니까 (0) | 2020.11.12 |
Visual Studio : 프로젝트의 속성을 복사하여 다른 프로젝트에서 사용할 수 있나요? (0) | 2020.11.12 |
C #에서 비동기 / 대기 이해 (0) | 2020.11.12 |