본문 바로가기
파이썬

파이썬 Python에서 내 모듈을 가져올 수 없습니다.

by º기록 2020. 9. 18.
반응형

모듈 가져 오기가 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

 

 

반응형

댓글