맥의 시스템 무결성을 유지하면서 개발 효율을 극대화할 수 있는 FastAPI 최적 설치 및 설정 방법
시스템 전역 도구는 Homebrew로 관리하고, 프로젝트별 라이브러리는 **가상환경(venv)**으로 격리하는 것이 핵심.
맥미니 기준
🚀 미니 환경 FastAPI 최적 설정 가이드
1. Homebrew를 통한 Python 엔진 설치
macOS 기본 파이썬 환경을 건드리지 않고, 최신 버전의 파이썬을 독립적으로 관리하기 위해 사용합니다.
Bash
brew install python
2. 프로젝트 폴더 생성 및 이동
관련 작업물을 모아둘 전용 디렉터리를 생성합니다.
Bash
mkdir fastapi-project && cd fastapi-project
3. 가상환경(venv) 생성 및 활성화
프로젝트마다 독립된 라이브러리 환경을 구축하여 버전 충돌을 방지합니다.
Bash
# 가상환경 생성 (venv라는 이름의 폴더 생성)
python3 -m venv venv
# 가상환경 활성화
source venv/bin/activate
- 활성화 시 터미널 프롬프트 앞에 (venv) 표시가 나타납니다.
4. FastAPI 및 실행 서버 설치
가상환경이 활성화된 상태에서 프로젝트에 필요한 패키지만 설치합니다.
Bash
pip install "fastapi[standard]"
- [standard] 옵션을 넣으면 고성능 ASGI 서버인 uvicorn이 함께 설치됩니다.
5. 검증용 코드 작성 (main.py)
간단한 API 서버 코드를 생성합니다.
vi main.py
아래 내용 복사 후 붙여넣기 저장은 esc키를 누르고 :wq
Python
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {
"status": "Running",
"device": "Mac Mini",
"message": "FastAPI environment is ready."
}
6. 개발 모드로 서버 실행
코드를 수정하면 즉시 반영되는 개발 전용 모드로 서버를 띄웁니다.
Bash
fastapi dev main.py
7. 브라우저를 열고 확인
http://127.0.0.1:8000

main.py 추가 활용
이제 서버가 켜진 상태에서 main.py의 내용을 자유롭게 수정하며 기능을 확장할 수 있습니다.
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "query": q}
기능 추가 예시 (데이터 받기)
기존 코드 아래에 다음과 같은 내용을 추가하고 저장해 보세요.
Python
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "query": q}
- 저장 후 브라우저에서 http://127.0.0.1:8000/items/100?q=test를 입력하면, 전달한 값들이 결과로 출력되는 것을 볼 수 있습니다.
서버 종료하기
작업을 마치고 서버를 끄고 싶을 때는 터미널 창에서 **Control + C**를 누르면 안전하게 종료됩니다.
💡 이 방식이 최적인 기술적 이유
- 시스템 독립성: 모든 라이브러리가 프로젝트 폴더 내 venv에만 저장되므로, macOS 시스템 환경이 항상 깨끗하게 유지됩니다.
- 프로젝트 간 격리: 서로 다른 프로젝트에서 각기 다른 버전의 라이브러리가 필요하더라도 상호 간섭이 발생하지 않습니다.
- 하드웨어 최적화: Homebrew로 설치된 최신 파이썬은 맥의 아키텍처에 맞춰 최적화된 성능을 제공합니다.
- 유지보수 용이성: 더 이상 필요 없는 프로젝트는 해당 폴더만 삭제하면 관련 설정과 라이브러리가 한 번에 제거됩니다.
이제 브라우저에서 http://127.0.0.1:8000/docs에 접속하면 자동으로 생성된 Swagger UI 문서 페이지를 확인할 수 있습니다.
'IT > AI 자동화' 카테고리의 다른 글
| remotion 네이티브 설치방법! 도커 설치와 비교 (1) | 2026.01.05 |
|---|---|
| remotion 도커 데스크톱 docker-compose 설치방법(with. n8n) (0) | 2026.01.04 |
| n8n 카카오톡 메시지 보내기 설정 (0) | 2025.12.27 |
| n8n 블로그 자동화 및 썸네일 생성을 위한 Togerther AI 연동 (1) | 2025.12.25 |
| 클라우드플레어(cloudflare) 터널 접속 시 Bad gateway 오류해결방법 (0) | 2025.12.25 |