백엔드 Back-end/패스트API FastAPI

Q. FastAPI에서 pytest 할 때 ModuleNotFoundError: No module named 'fastapi' 오류 해결 방법은?

Tap to restart 2022. 2. 27. 13:00
반응형

A. python -m pytest 라고 실행하거나 터미널 창을 닫았다가 다시 열고 실행하면 된다.

 

아래처럼 에러가 나타난다.

 

해결 방법은 터미널창을 닫았다가 다시 열고 실행하면 된다.

터미널창이나 PyCharm 같은 IDE를 닫고 다시 실행하기 귀찮다면 python -m pytest 라고 실행하면 정상 작동한다.

 

pytest 설치 직후에 pytest.ini 파일을 만들고 아래와 같은 test.py를 실행해 보면

pytest.ini

[pytest]
addopts = -s

 

test.py

import sys
def test():
    print(sys.path)
    assert True

 

해당 디렉터리 아래 만들어 놓은 파이썬 가상환경 venv 내의 site-packages가 없다. 그래서 fastapi 모듈이 없다고 에러가 난다.

 

터미널을 닫고 다시 실행하면 해당 디렉터리 아래 만들어 놓은 파이썬 가상환경 venv 내의 site-packages가 추가되어 있고 그래서 잘 작동한다.

반응형