Study/Python

Python Poetry 사용해 보기

Bluesky_ 2024. 6. 8. 06:00
반응형

python 공부할 때 package 관리/ 가상 환경 관리를 위해 pipenv를 사용해 본 적이 있다.

2020.08.25 - [Study/Python] - Python 개발 환경 구성하기, pipenv 사용하기

4년 정도 지나고 요즘엔 어떤 게 있나 찾아보니 poetry가 괜찮은 듯하여 한번 사용해 보았다.
https://python-poetry.org/

poetry 이외에도 다양한 package 관리 / 가상 환경 관리 도구가 있다.
https://ritza.co/articles/gen-articles/pipenv-vs-virtualenv-vs-poetry-vs-pyenv-vs-pip/


poetry 설치하기

https://python-poetry.org/docs/

뭔가 여러 방법의 설치 방식을 안내하고 있고 python 버전 별로 사용도 가능하다는 거 같은데 그냥 간단해 보이는 방법을 선택했다.

pip install -U pip setuptools
pip install poetry

명령을 사용해 보면 잘 설치된 듯하다.

C:\>poetry -V
Poetry (version 1.8.3)

프로젝트 만들기

https://python-poetry.org/docs/basic-usage/

poetry new poetry-demo

기본 생성되는 프로젝트 구조는 다음과 같다.

poetry-demo
├── pyproject.toml
├── README.md
├── poetry_demo
│   └── __init__.py
└── tests
    └── __init__.py

만약 이미 만들어져 있던 프로젝트를 git에서 가져온 경우 해당 프로젝트에서 다음과 같이 명령을 수행하면 관련 의존성들을 설치하게 된다.

poetry install

의존성 추가하기

해당 프로젝트 위치에서 다음과 같이 명령을 수행한다.

poetry add [package...]

예를 들면 다음과 같다.

poetry add ollama langchain beautifulsoup4 chromadb gradio

추가된 package는 %USERPROFILE%\AppData\Local\pypoetry\Cache\ 하위에 위치하게 된다.

프로젝트 별 가상환경도 해당 위치에서 확인할 수 있다.

기타 명령어

https://python-poetry.org/docs/cli/

그 밖에 다음과 같은 명령어들이 있다.

# 업데이트
poetry update

# 지정하여 업데이트
poetry update requests toml

# 패키지 삭제
poetry remove pendulum

# 특정 그룹에서 삭제
poetry remove mkdocs --group docs

# 설치된 모든 패키지 확인
poetry show

# 특정 패키지를 지정하면 상세 내용을 확인할 수 있음
poetry show pendulum

# 빌드
poetry build

# 배포
poetry publish

# poestry 관련 설정 확인
poetry config --list

이외에도 다양한 명령어들이 있으니 공식 문서를 참고

반응형