Language/Python

[Python] FastAPI 사용하기 - 가상환경 , requirements.txt 설정

비독개 2023. 6. 18. 10:00

- 파이썬에는 기본적으로 가상환경을 제공합니다. 

 

혼자서 한 개의 프로젝트를 진행한다면 사용하지 않아도 되겠지만, 협업 또는 현재 진행하는 프로젝트가 여러 개일 경우 로컬에 설정되어 있는 파이썬 버전 및 부가적으로 필요한 DI 항목들을 쉽고 빠르게 관리하기 위해서는 파이썬의 가상환경을 활용하는 것이 도움이 되기 때문에 프로젝트 진행에 앞서 가상환경을 설정하였습니다.

 

가상환경 설치 및 생성

$ python3 -m pip install virtualenv
$ virtualenv venv --python=python3.11

- 버전은 생략해도 됩니다."--python=python3.11"

 

- 실행 후 해당 작업 디렉터리에 venv라는 가상환경 폴더가 생성됩니다.

venv 폴더
venv 폴더

- 해당 폴더에는 가상환경에 필요한 파일들이 존재합니다. 

 

- 가상환경 활성화

$ source /venv/bin/activate

- 명령어 실행시 가상환경이 활성화됩니다. 

가상환경은 보통 bash 쉘에서 동작하기 때문에 Vscode에서 사용한다면 Terminal의 우측 상단 "+" 버튼을 통해 bash쉘을 띄워줍니다.

bash
bash

 

venv 접두어
venv 접두어

- 가상환경이 활성화되면 터미널의 접두어에 (venv)라는 키워드가 붙게 됩니다. 

 

$ deactivate

- 가상환경을 종료하고싶을 경우 위와 같은 명령어 입력 시 가상환경이 종료됩니다.

 

하지만, Fast API를 실행하기 위한 패키지들은 기본적으로 설치되어있지 않기 때문에 설치를 해줘야 합니다.

필요한 패키지들을 한 개씩 따로 설치를 해도 되겠지만 그 방법보단 좀 더 쉬운 방법(requirements.txt)이 존재합니다.

requirements.txt 사용하기

- 작업 중인 디렉터리에 requirements.txt를 생성하고 필요한 패키지들을 등록합니다.

로컬에서 사용 중인 pip 패키지들을 자동으로 requirements.txt파일로 만들고 싶다면 아래의 명령어를 실행합니다.

$ pip freeze > requirements.txt
uvicorn==0.22.0
pydantic==1.10.8
pymongo==4.3.3

- 이렇게 생성된 requiremets.txt를 활용하여 패키지를 install 하기 위해서는 아래의 명령어를 사용합니다.

$ pip install -r requirements.txt

pip list
pip list

- 설치 후에는 pip 명령어를 통해 현재 설치된 패키지를 확인할 수 있습니다. 

$ pip list