fastAPI router pytest 하려고 하는데
app/main.py:3: in <module>
from routers.user import user_router
E ModuleNotFoundError: No module named 'routers'
오류가 발생함
fastAPI 실행하면 문제없음.
export PYTHONPATH="${PYTHONPATH}:/mnt/c/Users/kim/Desktop/myP/fastapi-test/app"
참고: https://stackoverflow.com/questions/20985157/py-test-no-module-named
각 폴더에 init.py를 생성해 줘야 패키지로 인식.
위 커맨드는 터미널 세션이 유효할 때만 가능.
다시 테스트 할 때마다 넣어주기 번거로움
venv 가상환경 사용하면 PYTHONPATH
경로를 자동으로 넣어준다고함
$ sudo apt install python3.8-venv // 설치
$ python3 -m venv .venv // 구성
$ source .venv/bin/activate // 가상환경 실행
자동으로 넣어주는게 아닌가보다
.venv/bin/activate 파일 최하단에
export PYTHONPATH="${PYTHONPATH}:/mnt/c/Users/kim/Desktop/myP/fastapi-test/app"
넣어주고 해결했다.