반응형
모듈 가져 오기가 Python에서 어떻게 작동하는지 이해하는 데 어려움을 겪고 있습니다 (다른 언어로도 수행 한 적이 없습니다).
내가 가지고 있다고 가정 해 봅시다.
myapp/__init__.py
myapp/myapp/myapp.py
myapp/myapp/SomeObject.py
myapp/tests/TestCase.py
이제 나는 다음과 같은 것을 얻으려고합니다.
myapp.py
===================
from myapp import SomeObject
# stuff ...
TestCase.py
===================
from myapp import SomeObject
# some tests on SomeObject
그러나 파이썬이 myapp
이 모듈이라는 것을 알 수 없기 때문에 나는 확실히 잘못된 일을하고 있습니다.
ImportError: No module named myapp
해결 방법
귀하의 특별한 경우에는 myapp.py 및 TestCase.py 스크립트에서 SomeObject
를 가져 오려는 것처럼 보입니다. myapp.py에서
import SomeObject
같은 폴더에 있기 때문입니다. TestCase.py의 경우
from ..myapp import SomeObject
그러나 이는 패키지에서 TestCase를 가져 오는 경우에만 작동합니다. python TestCase.py
를 직접 실행하려면 경로를 엉망으로 만들어야합니다. 이것은 Python 내에서 수행 할 수 있습니다.
import sys
sys.path.append("..")
from myapp import SomeObject
일반적으로 권장되지는 않습니다.
참조 페이지 https://stackoverflow.com/questions/9383014
반응형
'파이썬' 카테고리의 다른 글
파이썬 두 요소에 따라 튜플 목록 정렬 (0) | 2020.09.18 |
---|---|
파이썬 Python의 matplotlib에서 cdf를 그리는 방법은 무엇입니까? (0) | 2020.09.18 |
파이썬의 eval ()은 무엇을합니까? (0) | 2020.09.18 |
파이썬 Python 프로세스에서 사용하는 총 메모리? (0) | 2020.09.18 |
파이썬 dist-packages와 site-packages의 차이점은 무엇입니까? (0) | 2020.09.18 |
댓글