Windows에서 Anaconda 설치 및 가상환경 만들기+FastAPI 찍먹해보기

froajnzd·2024년 4월 3일
0

python

목록 보기
3/8
post-thumbnail

윈도우에서 아나콘다 설치하는 방법에 대해서 알아보도록 하자.
아나콘다는 파이썬을 이용한 data science tools, MLOps, data & model management를 제공한다.
가상환경을 만들때 플랫폼으로 많은 파이썬 유저들이 사용하고 있다.

  1. 아나콘다 설치하러 ㄱㄱ 윈도우 다운로드
    https://www.anaconda.com/download#downloads

    맥OS이나 Linux 라면 wget [설치경로] 명령어로 설치 가능

  2. 실행파일로 설치 후 아나콘다 네비게이터 실행

  3. 가상환경을 새로 만들기 위해 왼쪽의 Environments 클릭

  4. 아래의 Create 버튼 클릭 -> 가상환경 이름 작성하여 생성하면 끝

  5. 오른쪽의 실행 버튼으로 본인에게 편한 환경(나의 경우 terminal)을 클릭해서 open해주면 된다

여기까지 아나콘다 환경 접속

여기부터 FastAPI 환경 실행

  1. fastAPI를 설치해준다
pip install fastAPI[all]
pip install "fastAPI[all]" # 위 명령어가 '[ ]' 때문에 안먹힌다면(파싱에러)

  1. 간단한 api를 만들기 위한 폴더로 이동한다

  2. app.py 파일을 만들어준 후 아래 코드를 붙여넣는다

    vi app.py

from fastapi import FastAPI
import redis

app = FastAPI()
redis_client = redis.Redis(host='localhost', port=6379, db=0)

@app.get("/items/{id}")
def read_item(id: str):
    value = redis_client.get(id)
    if value:
        return {"id":id, "value":value.decode()}
    else:
        return {"message":"Item not Found"}
    
@app.post("/items/{id}")
def create_item(id:str, value:str):
    if redis_client.get(id):
        return {"message": "Item already exists"}
    else:
        redis_client.set(id, value)
        return {"id":id, "value":value}

@app.put("/items/{id}")
def update_item(id:str, value:str):
    if redis_client.get(id):
        redis_client.set(id, value)
        return {"id":id, "value":value}
    else:
        return {"message": "Item not Found"}

@app.delete("/items/{id}")
def delete_item(id:str):
    if redis_client.get(id):
        redis_client.delete(id)
        return {"message": "Item deleted"}
    else:
        return {"message": "Item not Found"}
  1. 내가 가진 DB에 연결하기 위하여 필자는 redis.Redis(host='localhost', port=6379, db=0) 로 redis를 이용하였는데, 로컬 redis를 이용한다면 해당 코드를 그대로 이용하면 될 것이고, AWS에 연결하고자 한다면, host 값에 기본 엔드포인트를 작성하거나 localhost:6379에 터널링하면 된다 (터널링 방법은 맨 밑에 기술하겠다)

  2. uvicorn 으로 작성한 파일을 실행시켜준다

  1. 127.0.0.1:8000 브라우저에서 접속해본다. 해당 화면이 정상적인 화면임.

  1. 127.0.0.1:8000/docs 우리는 Swagger-ui를 통해 확인해보겠다. 우리가 만든 API가 잘 나타나는 모습이다! 컬러풀한 칩을 클릭하고 자세한 api 상세를 살펴볼 수 있다.

  1. 스웨거 이용방법은 나중에 다뤄 보도록 하겠다

cf. 터널링 방법

코드는 위의 코드를 사용하면서, AWS redis를 사용하기 위해 터널링을 진행하도록 하겠다

C:\keys> ssh -i "키파일.pem" -L 6379:[redis 기본 엔드포인트]:6379 ubuntu@[터널링할 ec2 ipv4 주소]

profile
Hi I'm 열쯔엉

0개의 댓글