티스토리 뷰

카테고리 없음

별첨 #11. Poetry란?

미니대왕님 2025. 12. 21. 22:19

별첨 #1 KoSimCSE란?

별첨 #2. Chunking 청킹이란...

별첨 #3. n8n 완전 정복 가이드

별첨 #4. Chroma DB 완전 가이드

별첨 #4-1. Milvus란? 

별첨 #5. RAG란? 

별첨 #6. LangChain이란?

별첨 #7. MCP 서버 탑재

별첨 #8. Embedding)이란?

별첨 #9. LLaMA란

별첨 #10. kiwipiepy(키위파이파이)

별첨 #11. Poetry란?

✅ Poetry란?

Poetry는 Python 프로젝트의
패키지 관리, 의존성 관리, 가상환경 관리, 빌드/배포까지
모두 통합 관리할 수 있는 현대적인 개발 도구입니다.

📌 왜 써야 하나요?

기존 방식                                                                                   Poetry 방식
pip, requirements.txt pyproject.toml 하나로 관리
virtualenv 따로 설치 가상환경 자동 생성/관리
버전 충돌 수동 해결 의존성 자동 분석 & 잠금
setup.py, MANIFEST.in 필요 없음 (자동 생성)

✅ 설치 방법

▶️ 공식 설치 명령어

 
curl -sSL https://install.python-poetry.org | python3 -

설치 후 poetry 명령이 작동하는지 확인:

 
$ poetry --version

⚠️ macOS에서 PATH 안 잡힐 경우

 
$ export PATH="$HOME/.local/bin:$PATH"

 

#.zshrc 또는 .bashrc에 추가하면 됩니다.

✅ Poetry 기본 사용법

📘 1. 새 프로젝트 생성

 
$ poetry new myproject
 
$ cd myproject
myproject/
├── pyproject.toml   ← 모든 설정 파일
├── myproject/
│   └── __init__.py
└── tests/

📘 2. 기존 프로젝트에서 Poetry 초기화

 
$ cd 기존_폴더
$ poetry init
 

→ 종속성 입력 여부를 물어보는 CLI 시작됨
(엔터 계속 누르면 됨)

📘 3. 의존성 설치

 
$ poetry add pandas
$  poetry add openai@^1.0.0

 

pyproject.toml에 자동 추가됨
poetry.lock 파일도 생성됨

📘 4. 개발용 의존성 설치

 
$  poetry add --dev black
$  poetry add --group dev pytest

📘 5. 가상환경 실행

 
$   poetry shell

가상환경으로 진입 (명령어 앞에 (myproject-py3.11) 같은 표시됨)

📘 6. 파이썬 파일 실행

 
poetry run python main.py

✅ pyproject.toml 예시

 
[tool.poetry]
name = "myproject"
version = "0.1.0"
description = "GPT 기반 챗봇"
authors = ["홍길동 <gpt@online.ai>"]

[tool.poetry.dependencies]
python = "^3.10"
openai = "^1.2.0"
streamlit = "^1.25.0"

[tool.poetry.dev-dependencies]
pytest = "^7.4.0"

✅ Poetry 주요 명령어 요약

명령어                                                                                     설명
poetry new 프로젝트명 새 프로젝트 생성
poetry init 기존 프로젝트 초기화
poetry add 패키지명 의존성 추가
poetry remove 패키지명 패키지 제거
poetry install 의존성 설치 (잠금 기준)
poetry update 의존성 최신 버전으로 갱신
poetry run 명령어 가상환경 내 실행
poetry shell 가상환경 진입
poetry build 패키지 배포용 빌드
poetry publish PyPI 등록 (API 토큰 필요)

✅ 가상환경 위치 확인 및 변경

 
$ poetry env info --path

▶️ 전역으로 가상환경 만들기

 
$  poetry config virtualenvs.in-project true

→ .venv/ 폴더가 프로젝트 내에 생성됨 (IDE 호환 ↑)

✅ Poetry로 배포하기

1. 패키지 빌드

 
$  poetry build

→ dist/에 .tar.gz 및 .whl 생성

2. PyPI 등록

 
$  poetry publish --username __token__ --password pypi-xxxxxxxxx

PyPI API 토큰은 https://pypi.org/account에서 생성

✅ 함께 쓰면 좋은 도구

도구                                                                                   용도
black, isort 코드 정리 도구
pytest 테스트
pre-commit Git 커밋 전 검사
Docker + Poetry 개발 환경 고정
LangChain, openai LLM 기반 프로젝트 관리

✅ 장단점 요약

항목                               내용
✅ 장점 의존성 통합 관리, 가상환경 자동, 배포까지 가능
✅ 장점 pyproject.toml 하나로 프로젝트 관리
⚠️ 단점 기존 venv/pip과 호환 문제 있을 수 있음
⚠️ 단점 일부 패키지에서 설치 문제 발생 시 workaround 필요

✅ 마무리 정리

항목                               설명
Poetry란? Python 프로젝트 관리 도구 (패키지 + 가상환경 + 배포 통합)
설치 curl 한 줄로 설치
핵심 파일 pyproject.toml, poetry.lock
추천 사용법 poetry add, poetry shell, poetry run
배포 poetry build, poetry publish
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함