hello

Poetry 사용법 정리

Poetry는 Python의 현대적인 패키지 및 의존성 관리자입니다. 복잡한 의존성 문제를 자동으로 해결하고, 가상 환경 관리, 패키지 빌드 및 배포까지 도와주는 도구입니다.

Share

다음은 Python 패키지 관리자 Poetry에 대한 블로그 형식의 정리입니다. 초보자도 이해할 수 있도록 개념부터 설치, 사용법까지 친절하게 설명드리겠습니다.


📌 Poetry란?

Poetry는 Python의 현대적인 패키지 및 의존성 관리자입니다. 복잡한 의존성 문제를 자동으로 해결하고, 가상 환경 관리, 패키지 빌드 및 배포까지 도와주는 도구입니다.

✅ 주요 기능

  • 의존성 자동 관리 및 충돌 방지
  • 가상 환경 생성 및 관리
  • 프로젝트 초기화 및 구조 자동 생성
  • 빌드 및 퍼블리시 지원
  • pyproject.toml 기반의 설정 관리

🛠️ Poetry 설치 방법

🔸 macOS 사용자 (Homebrew)

brew install poetry

🔸 모든 플랫폼 공통 (스크립트 설치)

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

설치가 완료되면, poetry --version으로 설치 여부를 확인해보세요.


📁 Poetry로 프로젝트 시작하기

1. 새 프로젝트 생성

poetry new poetry-demo

📁 생성된 구조

poetry-demo
├── pyproject.toml         # 프로젝트 및 의존성 설정
├── README.rst             # 프로젝트 설명
├── poetry_demo/           # 실제 코드 위치
│   └── __init__.py
└── tests/                 # 테스트 코드
    ├── __init__.py
    └── test_poetry_demo.py

2. 기존 프로젝트에 Poetry 적용

poetry init

질문에 답하면서 pyproject.toml 파일을 생성하게 됩니다.


🧪 가상 환경(Virtualenv) 관리

가상 환경 생성

poetry env use python3

가상 환경 진입

poetry shell

프로젝트 내부에 가상환경 생성

poetry config virtualenvs.in-project true

이렇게 하면 .venv/ 폴더가 프로젝트 내에 생성됩니다.

현재 가상환경 정보 확인

poetry env info

가상환경 리스트 확인

poetry env list

가상환경 제거

poetry env remove <환경명>

⚙️ Poetry 설정 정보 확인

poetry config --list

📦 의존성 패키지 관리

패키지 검색

poetry search fastapi

패키지 추가

poetry add fastapi==0.111.0        # 일반 의존성
poetry add -D pylint               # 개발용 의존성 (-D)

직접 pyproject.toml에 작성

[tool.poetry.dependencies]
fastapi = "^0.111.0"

패키지 제거

poetry remove fastapi
poetry remove -D fastapi

📋 패키지 정보 확인

poetry show                   # 설치된 패키지 리스트
poetry show --tree           # 의존성 트리 구조 보기
poetry show --no-dev         # 운영용 패키지만 보기

📥 의존성 설치 및 업데이트

패키지 설치

poetry install

전체 업데이트

poetry update

특정 패키지 업데이트

poetry update fastapi

🌍 사용자 지정 패키지 레포지토리 설정

[[tool.poetry.repositories]]
name = "custom-repo"
url = "https://your.repo.url/simple"

Read more

AI가 짜준 코드가 배포 속도를 높였다면, 이제는 '신뢰성 가드레일'을 세울 때입니다

최근 많은 팀이 AI 코딩 어시스턴트나 에이전트를 도입하면서 코드 생산 속도가 비약적으로 상승했습니다. 하지만 속도가 빨라졌다는 것은 그만큼 잠재적인 결함이 프로덕션 환경으로 유입되는 속도 또한 빨라졌음을 의미합니다. DevOps.com의 이번 글은 AI가 생성한 코드의 특성과 그로 인해 발생하는 새로운 유형의 리스크, 그리고 이를 제어하기 위한 '신뢰성 가드레일(Reliability Guardrails)

By JHL

LLM 시대, 프롬프트 엔지니어링보다 '도메인 전문성'이 더 강력한 무기인 이유

최근 AI 도구들이 비약적으로 발전하면서 '프롬프트 엔지니어링'이라는 기술적 기법에 많은 관심이 쏠렸습니다. 하지만 실제 현업에서 LLM을 극한으로 활용해 고도의 결과물을 만들어내는 사람들의 공통점은 정교한 프롬프트 템플릿을 쓰는 능력이 아니라, 해당 분야에 대한 깊은 '도메인 전문성'을 갖추고 있다는 점입니다. 많은 이들이 LLM이 지식의 격차를 줄여준다고

By JHL

AI 코딩 에이전트 도입 시 고려해야 할 보안 제어 프레임워크: 속도와 안전의 균형 잡기

최근 Claude Code나 Kiro와 같은 AI 코딩 에이전트들이 단순한 코드 완성을 넘어, 자연어 프롬프트 하나로 수십 개의 PR을 생성하고 인프라를 수정하는 수준까지 발전했습니다. 하지만 이러한 생산성 향상은 '기계적 속도'라는 트레이드오프를 동반합니다. AI 에이전트는 조직의 보안 리스크나 컴플라이언스를 이해하지 못한 채 오직 '작업 완료'에만 최적화되어

By JHL

AI 벤치마크의 '포화 상태'와 평가 지표의 유효기간: 우리는 무엇을 믿어야 하는가

최근 LLM의 성능이 비약적으로 상승하면서, 역설적으로 우리가 모델의 성능을 측정하는 '자' 자체가 무용지물이 되는 현상이 가속화되고 있습니다. arXiv에 게재된 "When AI Benchmarks Plateau: A Systematic Study of Benchmark Saturation" 연구는 우리가 흔히 신뢰하는 벤치마크 점수가 왜 더 이상 모델 간의 변별력을 제공하지 못하는지, 그리고 이른바 '

By JHL