[점프 투 FastAPI] 01. 환경 세팅하기

    728x90

    아래의 모든 내용은 [점프 투 FastAPI] https://wikidocs.net/book/8531 를 참조하여 작성한 글입니다.

    개요

    새롭게 진행할 프로젝트에서 FastAPI를 통해 개발을 진행해야 하는 일이 발생하여 위 위키를 통해 FastAPI의 기초를 공부해보고자 한다. 필자는 하단의 모든 과정을 맥으로 진행하였으로 참고해주길 바란다.

     

    파이썬 설치 과정은 생략하였다. 

    1-03 FastAPI 개발 환경 준비하기

    하단 명령어를 통해 fastapi를 설치하였다.

    pip install fastapi

    그 후 각 디렉토리의 경로를 복사하여 user에 위치한 .zshrc 내부에 아래와 같은 문구를 추가하였다.

    참고로, .zshrc와 같은 숨김 폴더는 커멘드+shift+. 을 통해 확인할 수 있다.

    alias myapi='cd (본인 project dir 경로)/projects/myapi;source (본인 venvs dir 경로)/venvs/myapi/bin/activate'

    .zshrc 에 추가한 명령어를 통해 바로 venv로 이동함을 확인할 수 있다.

    파이참은 기존에 설치하였으나, 인증이 만료되어 아래 블로그를 참조하여 다시 인증하였다.

    https://jayjaystory.tistory.com/16

    1-06 Svelte 개발환경 준비하기

    false 로 변경한 뒤 터미널을 열고 (맥 단축키: ctrl+`(백틱))

    npm run dev를 진행하였다. 그러나 dev script를 찾지 못했다.

    npm의 버전 문제인가 싶어 update도 시도하였으나, 여전히 작동하지 않았다.

    두번째로 node의 버전 문제일 수 있다는 생각이 들어, 19에서 16으로 다운그레이드 하였다.

    brew의 명령어를 사용하였다.

    $ node -v
    
    $ brew search node
    
    $ brew unlink node
    
    $ brew install node@16
    
    $ brew link node@16

    그러나 brew link 에서 이미 경로가 존재해서 안된다는 경고가 떴다. (unlink를 진행해도 여전히 뜨는 상황) 결국 brew link --overwrite node@16 를 통해 overwrite 하였다. 이후 버전이 제대로 변경된 것을 확인 할 수 있었다. 

    다시 vscode에서 run 해보니 정상적으로 작동하였다. 

    1-07 안녕하세요 파이보

    07에서는 심각한 문제가 하나 발생했다. uvicorn main:app --reload 명령어 사용시 아키텍쳐 오류 (M1 맥은 arm64이다)가 발생한 것이다. 아무래도 아키텍쳐 문제이다 보니 구글링으로는 자세한 해결법이 잘 나오지 않았다.

    그래서 요즘 핫한 chat GPT를 사용하였다.(구린 영어는 무시해주길..) 첫번째로는 이미 실행한 방법을 알려주어서 두번째 방법으로 시도하였으나 안되었고,

    세번째에서 pip install fastapi uvicorn 후 arch -arm64 uvicorn main:app --reload 명령어를 통해 해결하였다.

    신기한 점은 이미 이전에 스택오버플로우를 통해 arch -arm64 uvicorn main:app --reload를 사용했는데, 이때는 install을 하지 않아서 제대로 되지 않았던 것 같다.

     

    드디어 모든 세팅이 끝났다.

    댓글