파이썬에서 가장 원시적인 패키지 관리 도구로 pip가 유명하지만, Popetry는 pip가 하지 못하는
패키지 간 의존성 해결,
lock 파일을 이용한 버전 고정,
파이썬의 가상 환경 관리 등
더욱 기능적이고 현대적인 버전 관리를 수행할 수 있게 해준다.
Poetry를 사용하는 이유
Poetry는 고도의 패키지 관리 기능을 제공하는데, 그 중 하나인 가상환경 관리 기능은 '환경을 제한하는 것'을 가능하게 한다. 이 기능은 Docker의 장점과 같다.
Poetry 사용 장점은 다음과 같다.
pip에서는 requirements.txt에만 의존하는 반면, Poetry는 pyproject.yaml과 poetry.lock의 두 파일로 패키지를 관리한다. requirements.txt만으로는 설치 시 의존 라이브러리의 버전 고정이 어려워, 의존 라이브러리의 부주의한 업데이트를 유발하는 원인이 될 수 있다.
그 외에도 Poetry는 자신이 만든 프로젝트 자체를 라이브러리로 공개하고 싶을 때에도 이용할 수 있는 것과 같은 여러 장점을 누릴 수 있다.
Poetry가 의존성을 관리하기 위해 사용하는 pyproject.toml이 존재하지 않으므로, Poetry를 사용하여 FastAPI를 설치하기 위해 의존성을 설명하는 pyproject.toml을 작성한다.