FastAPI 스터디 준비 - 1주차 FastAPI 설치하기, Pyenv 설정

1주차 FastAPI 스터디 준비


이 글은 1주차의 FastAPI의 스터디 내용을 회고 및 정리하는 글이다. 이제부터라도 찬찬히 정리하려고 한다. 그렇다면 오늘 정리할 내용은 FastAPI 설치하기 부터 Pyenv 설정이다. 일단 코드는 올려두었고, 차츰 차츰 내용을 회고하면서 시작하려고 한다!

https://github.com/KaniKim/FastAPI



pyenv가 뭐일까?

시간이 흐르며 여러 버전의 파이썬이 진화해왔다. 하지만, 그 버전들 중에서 내게 맞는 버전, 버전마다 다른 패키지, 그리고 프레임워크의 지원 여부 등이 산재해있다. 그렇다면 여기서 이러한 생각을 하게 될것이다.

"아니, 그러면 여러 파이썬을 쓰고 싶단 말이다!"

그렇다, 결국은 파이썬을 번갈아가며 여러 파이썬을 쓰고 싶은 욕구가 분출되게 된다. 그렇다면 이것을 어떻게 해결할 수 있을까? 그것이 바로 pyenv이다. pyenv 깃허브에서 소개하다 시피 "Simple Python Version Management"라고 한다. 여러 파이썬 버전을 쓸 수 있게 도와준다는 뜻이다.

물론 바닐라 파이썬 버전, 최신 버전을 그냥 설치하는 법도 있다. 시스템 상의 파이썬을 쓰는 방법도 있다. 하지만 package설치부터 굉장히 큰 난관에 부닥친다. 하나의 파이썬에 여러 패키지를 설치하다 보면 의존성 문제에 빠져 여러 패키지들이 굉장히 스노우볼 처럼 굴러가 결국 프로젝트를 망치게 할 수도 있다.

즉, 패키지 관리 차원에서, 환경을 분리하여 미래에 좀 더 생산성을 높이는 데에 큰 장점이 있다고 본다.

그렇다면 본격적으로 pyenv를 설치해 보겠다.

Let's Install Pyenv!

주의! 필자는 맥북 M1을 사용합니다! 맥북에만 초점이 맞춰진 글입니다!

brew update
brew install pyenv

위의 코드를 실행한 다음에 아래의 코드를 커맨드 창에 넣자!

echo 'eval "$(pyenv init -)"' >> ~/.zshrc

이로써 설치는 끝났다. 그렇다면 본격적으로 pyenv를 통해 파이썬을 설치해 볼 것인데, 아래의 코드를 입력해 보면 어떤 파이썬을 설치할 수 있는지 쭈~욱 나온다.

pyenv install --list

사실 이렇게 보면 정말 많은지라 다음 코드를 입력해서 3.6, 3.7, 3.8, 3.9 version의 파이썬을 찾아 보도록 하자.

pyenv install --list | grep "3\.[6789]"

아까 전보다는 보기가 많이 줄어들었다. 이제 여기서 하나를 골라 설치해보자, 필자는 3.10.0을 사용하니 3.10.0을 사용해 보겠다! - 별 이유는 없다. 그냥 숫자가 예뻐서 그렇다.

pyenv install 3.10.0

-> 만약 삭제하고 싶으면 pyenv uninstall 3.10.0(파이썬 버전)을 입력하자

이렇게 파이썬을 설치하였다. 근데 아직 안끝났다. 우리는 설치만 했지 아직 컴퓨터에다가 "이 버전의 파이썬을 사용하겠어~"라고 알려주지 않았기 때문이다. 만약 우리가 아까 설치한 python 3.10.0을 사용하고 싶다면, 다음과 같이 global 키워드를 넣어서 컴퓨터에게 알려주도록 하자.

python global 3.10.0

pyenv versions

그 다음 위의 커맨드를 치면 위의 사진같이 현재 깔려있는 버전들하고 현재 사용하고 있는 버전이 나온다. 만약 기본 시스템의 환경으로 돌아가고 싶다면 pyenv global system을 쳐주면 된다.

자 이제 우리는 본격적인 파이썬 버전 갈아끼우기 프로젝트를 완수했다! 이제 그러면 무엇을 하면 좋을까? 버전을 분리했으니, 이제 프로젝트 별로 환경을 분리해보자.


Let's Install Pyenv-virtualenv!

brew install pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

위의 커맨드를 실행해준 다음 다음과 같이 환경을 세팅해준다.

pyenv virtualenv <python-version> <project-name>

만약 자신이 3.10.0으로 fastapi 프로젝트를 만들고 싶다면, "pyenv vertualenv 3.10.0 fastapi" 커맨드를 쳐주면 완성된다! vscode에서는 다음과 같이 환경이 뜨게 된다.

그렇다면 이렇게 어느정도 환경을 세팅 했으니, 이제 본격적으로 FastAPI를 설치해 보자.



Let's install FastAPI!

pip install fastapi
pip install "uvicorn[standard]"

위의 커맨드를 실행해주면 바로 끝난다. 그렇다면 간단하게 코드를 실행해보고 돌아가는지만 확인한 다음에 오늘 글을 끝마치겠다. 다음 코드를 main.py에 넣은뒤 저장해준다.

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}

그다음 다음 코드를 실행해준다.

uvicorn main:app --reload

그러면 http://127.0.0.1:8000/으로 들어가면

{"message": "Hello World"}

이것이 전부다. 정말 심플한 프레임 워크다! 다음 글에서는 본격적으로 insomnia rest를 이용한 서버와 통신하기 및 간단한 1주차 코드를 작성해서 올려보려고 한다!

그럼 감사하다!

좋은 웹페이지 즐겨찾기