Python Poetry 사용해 보기
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
이외에도 다양한 명령어들이 있으니 공식 문서를 참고