Backend/FastAPI

개발환경 설정 + 패키지 정리

지미닝 2024. 3. 18. 20:23

원래 글: https://velog.io/@stopmin/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%ED%8C%A8%ED%82%A4%EC%A7%80

개발 환경

Python

가상환경을 쓰면 될 것 같은데(?) 그냥 하는 김에 파이썬 버전 업그레이드 하려고 하는데 터미널에서 permission Denied오류가 떠서 나랑 비슷한 일을 겪은 분이 정리한 을 보고 해결했다.

그럼에도 계속 계속 안돼서 결국 version 폴더 보니깐 개판이라 정리하니깐 해결이 얼추 됐다.

pyenv

다양한 버전의 파이썬을 관리하는 도구이다. ➡️ 프로젝트 하는데 편함
pip 기반으로 동작하지만, 프로젝트 별로 격리된 가상환경과 프로젝트 단위의 패키지 관리 매커니즘을 제공한다.

pipenv

가상 환경에서 사용할 파이썬 버전을 --python옵션에 명시하여 pipenv커맨드를 실행하면 가상환경이 만들어지는데, 프로젝트 디렉터리에 pipfile이 생성되는데 이것이 pipenv에서 가장 핵심이 되는 부분이라고 한다. 아래가 저번 시간에 봤던 pipfile..

Pipfile

Visit Snyk Advisor to see a full health score report for pipfile, including popularity, security, maintenance & community analysis.

Source

- url

- verify_ssl

- name

Package

uvicornfastapi 패키지를 통해서 fast api를 시작할 수 있다고 한다고 한다
참고

Uvicorn

  • 매우 가벼운 비동기 방식의 server gateway interface다.
    (비동기 웹서버) 그리고 비동기방식은 인웹기에서 잠시 배웠는데, 대기 시간 없이 cpu가 다른 작업을 할 수 있는 상태이다.위 벨로그에서도 잘 소개해줬다.
    Fastapi만으로는 웹 개발을 못한다. ASGI에 호환되는 웹 서버가 필요한데 이게 곧 그건가보다.

uvicornfastapi 두 개를 사용하면 서비스 배포가 가능하다.

Fastapi

  • 파이썬 웹 프레임워크다.
    특이한 점은, 데이터타입을 엔드포인트로 명시하지 않아도 알아서 알맞게 맞추어준다고 한다. 이때 Uvicorn ASGI Server를 사용한다고 한다.

다른 분의 벨로그 보고 뭐 하나 해봤다.

ㄱ,근데 에러가 뜨네요... 디렉터리에 없대요

ERROR:    Error loading ASGI app. Could not import module "main".

If your terminal is not located in the directory that contains your FastAPI application, you have to specify the path.라고 합니다. 해결방법을 찾았는데 난리가 났어요..

근데 며칠뒤에 성공했습니다.

매우 간단...하게 성공! 그냥 정말 간단한 문제였습니다. scr test로 python 파일이 존재하는 디렉터리로 이동하면 해결이 됐습니다. 큰 집 가서 이 파일 내놔라고 하고 있었네요.

Pymongo

파이썬에서 MongoDB를 사용하기 위해서 필요한 라이브러리다. 데이터를 추가하고 출력하는데 쓰이는 것같다.

dev_packages

pre-commit

httpx

pytest

requires

python_version

python_full_versioon

'Backend > FastAPI' 카테고리의 다른 글

DockerCompose & MongoDB  (4) 2024.03.18
SQLAlchemy  (0) 2024.03.18
[FastAPI] CloneCoding (CRUD, ToDO-list)  (2) 2024.03.18
Pytest & Github action & Docker  (0) 2024.03.18
Pyenv & Pipenv 실습  (0) 2024.03.18