회사에서 FastAPI 프로젝트를 만들 때 기본적으로 세팅하는 환경을 작성해보기로 한다.
개발 Tool : Visual Studio Code(1.95.3, Windows 11)
Python Version: 3.11.4
Package Manager: Poetry(v1.8.4)
본 글을 작성하는 현재 나의 개발 환경 위와 같다.
1. 가상환경 만들기(venv)
- 아래 명령어를 PowerShell에 입력하면 .venv 폴더가 생성되면서 가상환경이 만들어진다.
*참고: 회사에서 업무를 할 때는 적어도 3개 이상의 Python 버전 환경에서 개발할 수 있어 개인적으로 각 프로젝트 별 가상환경을 만드는 것을 선호한다.
python -m venv .venv
만약, macOS 환경인 경우 아래 명령어를 입력하면 된다.
python3 -m venv .venv
macOS에서 개발을 해보지 못한 개발자들이 가끔 질문하는 케이스이다. macOS에서는 "python3"로 명시해서 써야 하는 데, 그 이유는 python 2.x 버전이 macOS에 기본 내장되어 있기 때문이다. 따라서, macOS 터미널에서 python으로 명령하면 2.x 버전으로, python3로 명령하면 3.x버전으로 명령이 수행된다.
2. 가상환경 활성화(activate)
아래와 같이 터미널에 입력하여 프로젝트 내에 생성한 가상환경으로 터미널을 활성화 해준다.
.\.venv\Scripts\activate
3. Poetry init 명령
- Poetry init을 통해서 기본 Poetry 설정을 진행한다. 나 같은 경우, 특별한 설정 없이 모두 Enter를 눌러 init을 마친다.
poetry init
여기까지 입력을 완료하면 아래 사진과 같이 터미널에 출력이 될 것이다.
4. Poetry venv in-project 설정
- Poetry 가상환경(Shell)은 보통 프로젝트 바깥 어딘가에 Python 환경이 만들어지는 것이 일반적이다. 하지만, 프로젝트 내에 가상환경을 만들어서 poetry를 연결할 경우 아래와 같이 설정이 필요하다.
poetry config virtualenvs.in-project true
poetry config virtualenvs.path ".\.venv"
5. FastAPI 추가하기
아래 명령어를 입력하여 fastapi 패키지를 가상환경에 추가해준다.
poetry add "fastapi[standard]"
여기까지 수행하면 아래와 같다.
6. main.py 파일 생성하기
- PowerShell에서 아래 명령어를 입력해서 main.py 파일을 생성한다.
New-Item main.py
macOS에서 파일을 생성할 때는 touch를 사용한다.
touch main.py
7. VSCode interpreter 선택하기
- VSCode의 인텔리센스 도움을 받으려면 프로젝트의 interpreter가 어느 경로인지 VSCode에게 알려줘야 한다.
Ctrl + Shift + P 입력 후, "select interpreter" 라고 검색하면 아래와 같이 출력된다.
그리고, 아래 사진과 같이 프로젝트 내에 만들었던 venv 가상환경 경로를 선택해준다.
여기서 ".venv:Poetry"라고 표현된 부분은 프로젝트 내에 있는 가상환경을 의미하고, "backend-6xv.. Poetry" 라고 표현된 부분은 프로젝트 외부에 만들어져있는 Poetry 가상환경이므로, 선택 시 유의한다.
8. main.py 작성하기
- 아래 Python 코드를 main.py에 작성해보자
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def home():
return {"message": "Home Page"}
main.py 작성을 완료 했다면 터미널에서 직접 fastapi를 실행해보자.
fastapi dev main.py
9. VSCode Debug 설정하기
- VSCode 왼쪽 4번째 Debug 메뉴를 선택하면 [create a lauch.json] 메뉴를 클릭하면 아래와 같이 출력된다. 여기서 Python Debugger를 선택해준다.
그 다음 7번째 항목인 [FastAPI - Launch and debug a FastAPI web application] 항목을 선택한다.
그럼, 위와 같이 launch.json이 생성되며, Debug 설정이 모두 끝나게 된다.
main.py에 가서 아래 사진과 같이 원하는 코드 위치에 F9를 눌러 Break Point를 표시한다.
이 상태에서 F5를 누르거나, 왼쪽 상단 Run > Python Debugger: FastAPI 버튼을 클릭하면 Application이 실행이 된다. 그리고, http://localhost:8000/ 주소를 접속하게 되면 아래와 같이 Break Point가 잡힌 것을 확인할 수 있다.
10. [기타] swagger 페이지 접속 해보기
- FastAPI의 좋은 점은 Swagger가 기본 지원되는 점이다. 실행 시킨 localhost:8000 주소 뒤에 /docs를 붙여보면 Swagger OpenAPI 페이지로 이동한다.
http://localhost:8000/docs
이상 VSCode, FastAPI, Poetry 프로젝트 환경 설정 기록을 마친다.
'Python' 카테고리의 다른 글
Poetry Package Manager 설치하기 (2) | 2024.11.20 |
---|---|
VSCode Django Debug 설정 (3) | 2024.11.19 |
VSCode Python Extension 정리 (1) | 2024.11.16 |