본문 바로가기

웹개발/FastAPI

FastAPI + PostgreSQL 사용법 정리(1) - 세팅

부트 캠프에서 2주만에 바로 프로젝트에 들어갔다 ㅎㄷㄷ
팀원들을 급하게 만들고 많은 논의 끝에 웹을 만들기로 했다.
부트캠프과정에서 하루만에 속성으로 배운 FastAPI와 우리가 독학으로 터득한 PostgreSQL을 사용하여 웹을 구현하기로 했다. 특히 팀원들은 맥북인데 나는 윈도우라서 ㅜㅜㅜ 잘 맞지 않거나 방법이 달라서 애를 꾀 먹었다.
힘들게 배운 만큼 자세하게 정리해 놓아보자.

1. PostgreSQL 설치

postgresql은 관계형 데이터 베이스에서 꾀 유명한 친구다.

https://db-engines.com/en/ranking

오늘(24.04.16)기준 4위를 찾이하고 있다.
그래프를 자세히 보면 꾸준히 우상향 하는 것을 볼 수 있다. 날이 갈 수록 사랑을 더 받고 있는 DB라는 의미이다.
아무튼 이 친구를 DB로 사용하기 위해서 설치 할 것이다.

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

 

Community DL Page

Note: EDB no longer provides Linux installers for PostgreSQL 11 and later versions, and users are encouraged to use the platform-native packages. Version 10.x and below will be supported until their end of life. For more information, please see this blog p

www.enterprisedb.com

위의 링크로 가면 아래와 같은 다운로드 페이지가 나온다.

여기서 OS확인을 꼭 한뒤 원하는 버젼을 선택해서 다운로드 하면 된다.
버전 옆에 * 붙은 것들은 LTS 버젼으로 더이상 업데이트가 되지 않는 아이들 이다.
업데이트가 안되면 안 좋은 것처럼 들리지만 반대로 업데이트가 더 이상 안 이루어 지기때문에 업데이트로인한 에러를 피할 수 있다.
예로 업데이트 전 ppt로 만들었는데 업데이트 후에는 기능들이 사라져 파일이 이상해지는 경우가 간혹 있다. 이러한 에러를 피할 수 있으므로 LTS 버전은 나름 사랑을 받는다.
(하지만 난 14버젼을 다운받음 ㅋㅋㅋㅋ)

Next > 클릭

파일 설치 위치인데 왠만하면 건들지 말고 Next>

Stack Builder 귀찮게 하니깐 설치 x(해도 크게 상관은 없음) 

이것들도 건들지말고 그냥 Next 추천

설치를 기다립시다... 한 10분 정도 걸려요.

설치를 완료하고 postgreSQL을 검색하면 설치 파일만 뜰거에요...
실행 파일 이름은 애석하게도 pgAdmin 입니다.


이 앱을 실행하면 아래 사진과 같은 화면이 뜨면서 설치는 성공적으로 끝이납니다!!



2. FastAPI설치

원하는 곳에서 vsCode를 열어주세요.


fastapi를 설치하기 전에 일단 가상환경 부터 만들어야 합니다!!
ctrl+j 를 누르면 vsCode에서 터미널을 열 수 있습니다.

이때!!! powershell 로 열린 분들은 빨간 동그라미 옆 아래 화살표를 눌러서 command prompt로 바꿔주세요!

python -m venv .venv

 터미널 창에 다음 명령어를 실행하면 가상환경이 설치 됩니다. 이때 시간이 조금 걸리니 기다려주세요.

다들 source .venv/Scripts/activate 명령어로 가상환경을 실행 시켜주는데 저는 왠지 모르겠는데 안 될때가 있더라고요.
그래서 직접 파일에 들어가서 가상환경을 실행 시킵니다.

cd .venv/Scripts
activate

하지만 이런식으로 가상환경을 실행하면 꼭 cd../..으로 다시 나와줘야 합니다!!!

가상환경이 잘 켜졌으면 맨아퓨에 (.venv) 가 나옵니다.

가상환경을 만드는 이유는 여러 이유가 있지만
제가 가장 크게 느끼는 이유는 저의 컴퓨터가 아프지 않게 하기 위해서 입니다.
이 프로젝트를 위해 많은 라이브러리를 설치를 하는데 그것이 프로젝트가 끝나고도 남아있으면 저장공간도 그렇고 다른 프로젝트와의 충돌도 발생할 수 있습니다.
꼭 가상환경을 사용해서 우리의 컴퓨터를 지킵시다.

3. 라이브러리 설치하기

다음과 같은 라이브러리를 설치해 줍시다!

pip install fastapi psycopg2 sqlalchemy
pip install uvicorn[standard]


- fastapi : 우리가 사용할 백엔드!
- uvicorn[standard] : fastapi가 사용할 ASGI 서버
- sqlalchemy : fastapi에서 postgreSQL DB조종을 위한 ORM툴
- pycopg2 : 뭐하는데 쓰는 라이브러리 더라?...

이러면 세팅은 다 끝이 난다. 다음 포스팅 코드를 보면서 어떻게 하는지 알아보자!!!