HERE: utils_foo
👩💻Import custom module
python
code
custom module을 불러오는 방법
Structure
실제 폴더와 파일들은 아래와 같다.
gym_foo folder에 반드시 __init__.py를 만들어야 한다.
Code
utils_foo.pyenv_foo.pymain_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 해줘야 한다.