HERE: utils_foo
👩💻Import custom module
python
code
custom module을 불러오는 방법
Structure
실제 폴더와 파일들은 아래와 같다.
gym_foo
folder에 반드시 __init__.py
를 만들어야 한다.
Code
utils_foo.py
env_foo.py
main_foo.py
Goal
- 실행 파일:
main_foo.py
- import하는 파일:
env_foo.py
- import하는 파일 내에서(=env_foo.py) import하는 파일:
utils_foo.py
How
main_foo.py
에서env_foo.py
를 import한다.env_foo.py
에서utils_foo.py
를 import 한다.이때
env_foo.py
에서import utils_foo
로 utils_foo를 불러오면,python env_foo.py
실행시 잘 작동되지만(같은 위치)python main_foo.py
실행에서는from gym_foo import *
코드를 읽을 때env_foo.py
내의from gym_foo import utils_foo
를 불러올 수 없다고 error가 난다.(상위 위치)
env_foo.py에서 utils_foo module을 불러올 때,
from gym_foo import utils_foo
로 불러온다. 상위 위치인gym_foo
를 거쳐서 import해야한다는 뜻이다. 그러면python main_foo.py
실행시 잘 작동한다.한 가지 더 주의해야 할 점이 있다.
main_foo.py
에서utils_foo
와env_foo
를 import 할 때이다.from gym_foo import *
코드로 utils_foo와 env_foo가 모두 불러와질 것이라고 생각했으나,main_foo.py
를 실행했을 때 import 하지 못한다. 따라서 위에main_foo.py
에서 볼 수 있듯이from gym_foo import utils_foo
,from gym_foo import env_foo
각각 따로 import 해줘야 한다.