pytest error - ModuleNotFoundError

00_8_3·2023년 3월 28일
0

python

목록 보기
2/2

pytest 오류

fastAPI router pytest 하려고 하는데

app/main.py:3: in <module>
    from routers.user import user_router
E   ModuleNotFoundError: No module named 'routers'

오류가 발생함

fastAPI 실행하면 문제없음.

PYTHONPATH - 해결 1

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 - 해결 2

venv 가상환경 사용하면 PYTHONPATH 경로를 자동으로 넣어준다고함

  • venv 설정

    $ 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"
넣어주고 해결했다.

0개의 댓글