python 의존성 관리- poetry

Leejaegun·2025년 2월 26일

Python & etc

목록 보기
14/27

🚀 Python 의존성 관리 및 실습 환경 구성

Python에서 의존성 관리는 매우 중요합니다.
Python은 인터프리터 언어로 편리하지만, 그만큼 에러가 발생할 가능성이 높기 때문에 체계적인 환경 구성이 필요합니다.
이 가이드에서는 Docker와 Poetry를 활용한 가상환경 구성 및 의존성 관리 방법을 소개합니다.


🛠️ 1. Docker로 Python 특정 버전 가져오기

Docker를 이용해 특정 Python 버전을 실행합니다.

docker pull python:3.10

이후, 컨테이너 내부에서 가상환경을 만들어 관리하는 것이 좋습니다.

🏗️ 2. 실습 환경 구성

다음 예제 코드를 사용하여 실습 환경을 구성하겠습니다.
🔗 fastapi-book-example 프로젝트를 가져옵니다.

git clone https://github.com/rumbarum/fastapi-book-example
cd fastapi-book-example

🏠 3. 가상환경 생성 및 활성화

python -m venv fastapi
source fastapi/bin/activate  # (Windows의 경우 `fastapi\Scripts\activate`)

📦 4. Poetry를 활용한 의존성 관리

Poetry는 Python 패키지 및 의존성을 체계적으로 관리하는 도구입니다.

✅ Poetry 설치

pip install poetry

✅ 프로젝트의 pyproject.toml 확인

[tool.poetry]
name = "src"
version = "0.1.0"
description = ""
authors = ["Bareum Han <rumbarum@gmail.com>"]
readme = "README.md"

🔹 src 디렉토리가 기본 패키지 경로로 설정되어 있습니다.
🔹 더 직관적인 구조를 위해 main으로 변경하고 main/__init__.py 파일을 생성합니다.

mv src main
touch main/__init__.py

📥 5. Poetry로 의존성 설치

아래 명령어를 실행하면 pyproject.toml을 기준으로 필요한 패키지를 자동 설치합니다.

poetry install

🛠️ 6. Python 패키지 경로 문제 해결

🔹 Python에서 모든 패키지가 설치되었음에도 불구하고, 노란색 밑줄이 생기는 경우가 있습니다.
🔹 이럴 때 VS Code에서 Python 인터프리터를 다시 선택하면 해결될 수 있습니다.

✅ 해결 방법 1: Python 인터프리터 선택

1️⃣ Ctrl + Shift + P 누른 후
2️⃣ Python: Select Interpreter 검색
3️⃣ 가상환경에 해당하는 Python을 선택

✅ 해결 방법 2: Python 직접 추가

1️⃣ fastapi/bin/python3.10 선택
2️⃣ 수동으로 인터프리터 경로를 설정


🎯 7. Poetry 명령어 정리

Poetry를 사용하면 다양한 의존성 관리 명령어를 활용할 수 있습니다.

명령어설명
poetry show --tree📌 현재 설치된 패키지를 트리 형태로 출력
poetry add pendulum📥 특정 패키지(pendulum) 설치
poetry remove pendulum❌ 특정 패키지 제거
poetry update⬆️ 모든 패키지를 최신 버전으로 업데이트
poetry lock🔒 의존성을 poetry.lock 파일로 고정

🔗 Poetry 공식 홈페이지에서 더 많은 명령어를 확인할 수 있습니다.

🎉 마무리

이제 Docker + 가상환경 + Poetry를 이용하여 Python 프로젝트의 의존성을 체계적으로 관리할 수 있습니다.
Poetry를 사용하면 패키지 설치 및 업데이트가 간편해지고,
환경이 일관되게 유지되므로 배포 및 협업이 훨씬 원활해집니다. 🚀

profile
Lee_AA

0개의 댓글