<aside>
</aside>
지금까지 우리는 데이터가 서버 메모리 위에서만 존재하는, 재시작하면 모든 게 사라지는 세상을 살았죠. 이제 진짜 애플리케이션처럼 데이터를 영구적으로 저장하기 위해 데이터베이스(DB)와의 연동을 준비해볼 시간입니다! 하지만 모든 개발자가 로컬에 DB를 설치하고 싶어 하지는 않을 거예요. 그래서 오늘은 '선택적 의존성 그룹' 기능을 사용해서, DB 관련 라이브러리들을 필요한 사람만 설치하도록 분리하는 방법을 배워보겠습니다.
G db)을 만들어 프로젝트의 유연성을 높일 수 있습니다.SQLAlchemy와 psycopg를 db 그룹 의존성으로 추가할 수 있습니다.-with <그룹명> 옵션을 사용하여 특정 그룹의 의존성을 함께 설치할 수 있습니다.이번 챕터에서는 실제 DB 연동 코드를 깊게 짜기보다는, 의존성을 분리하고 설치하는 방법에 집중합니다. pyproject.toml이 업데이트되는 것이 핵심입니다.
pyproject.toml (db 그룹 추가, 선택 설치 설정 포함)
# ... [project] 섹션 등은 생략 ...
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
pytest = "^8.2.2"
ruff = "^0.5.0"
black = "^24.4.2"
# DB 연동을 위한 새로운 의존성 그룹
[tool.poetry.group.db]
optional = true
[tool.poetry.group.db.dependencies]
sqlalchemy = "^2.0.30"
psycopg = {version = "^3.1.19", extras = ["binary"]}
💡 psycopg[binary]는 뭔가요? psycopg는 파이썬에서 PostgreSQL 데이터베이스와 통신하기 위한 라이브러리입니다. [binary] extra는 C 컴파일러 같은 빌드 도구 없이도 쉽게 설치할 수 있도록 미리 컴파일된 바이너리 패키지를 사용하겠다는 의미예요. 처음 시작할 때 편리합니다!
7강에서 우리는 dev 그룹을 만들어 테스트용 도구를 분리했어요. 여기서 한 걸음 더 나아가, 애플리케이션의 특정 기능에만 필요한 의존성을 별도의 그룹으로 만들 수 있습니다.
예시: