development
Python FastAPI 개념 정리 (1) _ 프로젝트 세팅 & 패키지 구조
뽀글뽀글 개발자
2024. 9. 28. 15:56
virtualenv
일반적으로 파이썬 애플리케이션은 독립된 가상 환경에서 실행된다.
특정 패키지를 시스템에 전역으로 설치하지 않아도 되며, 서로 다른 어플리케이션을 동시에 개발할 때도 충돌을 피할 수 있다.
아래 명령어를 통해서 venv 모듈을 생성할 수 있으며, 두 번재 venv는 venv 모듈로 사용될 폴더명이다.
venv 폴더 안에는 bin, lib이 있는데, bin은 가상 환경을 활성화하고 관리하는데 필요한 스크립트가 포함되며, lib에는 설치된 패키지와 모듈이 포함된다.
python -m venv venv # windows
python3 -m venv venv # linux
가상 환경 활성화 & 비활성화
my_project>venv\Scripts\activate #windows
my_project>venv\Scripts\deactivate
source venv/bin/activate #linux
source venv/bin/deactivate
my_project이라는 폴더를 생성했을 때 초기 프로젝트 구조
my_project/
│
├── venv/ # 가상 환경 디렉토리
│ ├── bin/ # 실행 파일 및 스크립트 (Linux/Mac)
│ │ ├── activate # 가상 환경 활성화 스크립트
│ │ ├── python # Python 실행 파일
│ │ └── ... # 기타 실행 파일
│ │
│ └── Lib/ # 설치된 패키지 디렉토리
│ └── site-packages/ # 패키지 설치 디렉토리
│ └── ... # 설치된 패키지들
│
├── main.py # 프로젝트 메인 파일
└── requirements.txt # 프로젝트 의존성 목록 (필요시)
패키지 설치
파이썬은 pip를 사용해서 패키지를 설치하고, 관리한다.
node의 npm이나 apt, yum, brew와 같은 패키지 관리자라고 생각하면 된다.
pip 설치 여부는 아래 명령어로 확인이 가능하며, 설치가 되어있지 않다면 그 다음 명령어를 통해 설치가 가능하다.
python -m pip list
python get-pip.py
pip 기본 명령어
# 설치
pip install fastapi
# 삭제
pip uninstall fastapi
# 현재 프로젝트에 설치된 모든 패키지 목록을 파일에 저장
pip freeze > requirements.txt
# requirements.txt에 설치된 모든 패키지 설치
pip install -r requirements.txt