Poetry는 파이썬 프로젝트의 패키지 및 의존성을 관리하는 도구이다. 보통은 pip나 anaconda를 이용해서 패키지를 설치하고 가상 환경 관리를 많이 하는데, Poetry는 다른 tool들과 다르게 패키지 설치, 가상 환경 생성, 의존성 관리, 배포를 위한 패키징 작업(build, publish)을 모두 할 수 있다.
python 2.7 혹은 3.5+ 환경에서 설치한다.
$ curl -sSL https://install.python-poetry.org | python3 -(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -$ poetry init을 하면 현재 디렉토리에 pyproject.toml 파일이 생성되면서 사용자로부터 프로젝트의 의존성, 버전, 설명 등에 대한 정보를 대화형으로 입력받는다. 이로써 기존 디렉토리 내에서 새로운 poetry 프로젝트가 초기화된다.
$ poetry shell
$ poetry install을 하면 pyproject.toml 파일에 저장된 내용에 기반해 라이브러리를 설치한다. 필요한 패키지를 명시해서 추가 설치할 때에는 $ poetry add pandas와 같이 설치한다.
poetry는 poetry.lock 파일을 생성하여, 현재 프로젝트의 모든 의존성과 정확한 버전을 기록한다. 이 파일이 존재하면 작성하고 있는 의존성과 동일한 의존성을 가지게 할 수 있다. 따라서 이를 GitHub repository에 commit해두면 git clone해서 가져왔을 때 동일한 환경을 갖추게 할 수 있다.
https://python-poetry.org
https://teddylee777.github.io/poetry/poetry-tutorial/
https://dailyheumsi.tistory.com/244
https://blog.gyus.me/2020/introduce-poetry