study/TIL🐥

[MacOS] Python3 설치 및 fastapi 설치

서나쓰 2021. 5. 25. 13:56
728x90

사용 환경 : mac OS

Python3 Mac OS에 설치

Mac에는 기본적으로 파이썬2가 설치되어 있다. 버전을 알 수 있는 방법은 터미널에서

python -V 명령어로 현재 설치된 파이썬의 버전을 알 수 있다.

파이썬은 2버전과 3버전이 많이 다르기에 3버전을 설치하도록 하자.

https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

위 사이트로 들어가면 현재 OS에 맞는 다운로드 버전을 제시하니까

위 버튼을 눌러서 다운로드를 받자.

설치가 완료되면 파이썬3의 버전을 확인하기 위해

python3 -V 의 명령어를 입력하여 설치된 버전을 확인하자.

python 필수 패키지

  • pip3 install wheel
  • pip3 install numpy
  • pip3 install scipy
  • pip3 install matplotlib
  • pip3 install pandas
  • pip3 install h5py
  • pip3 install spyder

 

API 개발을 위한 FAST-API 설치

https://fastapi.tiangolo.com/ko/

 

FastAPI

FastAPI FastAPI 프레임워크, 고성능, 간편한 학습, 빠른 코드 작성, 준비된 프로덕션 문서: https://fastapi.tiangolo.com 소스 코드: https://github.com/tiangolo/fastapi FastAPI는 현대적이고, 빠르며(고성능), 파이썬

fastapi.tiangolo.com

파이썬으로 API 개발을 위해 나온 고성능 프레임워크이다.

FastAPI는 현대적이고, 빠르며(고성능), 파이썬 표준 타입 힌트에 기초한 Python3.6+의 API로 빌드하기 위한 웹 프레임워크입니다.

NodeJS 및 Go와 대등할 정도로 매우 높은 성능을 자랑하고, 빠른 코드를 작성할 수 있으며, 버그가 적고, 직관적이며, 사용하기 귑고, 코드의 중복을 최소화하는 기능을 제공한다고 한다.

설치

pip3 install fastapi

pip3 install uvicorn

먼저 fastapi를 설치한 다음 api를 구동할 서버를 설치한다.

파이썬 의존성관리

→ 자바스크립트의 npm, yarn이라고 생각하면 편하다.

→ node.js로 웹 어플리케이션을 만들 때 package.json과 같은 파일을 만드는 것

peotry 설치

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python

터미널을 열어서 위 주소를 쳐서 설치를 완료한 후 peotry init 이라고 친 다음 설정할목이 뜨는데 기호에 맞게 설정하면 pyproject.toml 파일이 생긴다. (package.json)과 같은 파일

poetry add fastapi uvicorn
💡 혹시 poetry 명령어가 없다고 하면 터미널을 껐다가 키면 실행이 된다.

설치를 하면 poetry.lock 파일이 생기는데 npm의 package.lock.json과 같이 의존성을 설치할 수 있도록 보장해주는 파일을 생성한다.

from typing import Optional
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
    return {"item_id": item_id, "q": q}

main.py에 해당하는 파일을 만들고, 서버를 실행한다.

main : main.py의 main을 의미

app : main.py안에 있는 app=FastAPI()

—reload : 코드 변경시 자동으로 저장되어 재시작

—host : 모든 접근이 가능하게 하려면 0.0.0.0을 입력

—port : 접속 원하는 포트를 지정해준다

 

http://localhost:8000/ 로 접속하면 아래와 같은 return을 확인할 수 있다.

728x90

'study > TIL🐥' 카테고리의 다른 글

[DB] Partition 사용 이유  (0) 2021.07.07
[Git] 잘못 올라간 파일/폴더 지우기  (0) 2021.06.08
SQL/NoSQL/DynamoDB  (0) 2021.04.28
[javascript] 하나의 form 안에 두개 이상의 submit이 있는 경우  (0) 2021.04.26
OAuth2란?  (0) 2021.04.26