AboutPython

GitHub Repo에 Poetry 적용

scone 2024. 5. 9. 20:44

Poetry를 사용하는 이유

  • 같이 작업하는 개발자들끼리 같은 버전의 패키지들을 설치하여, 환경을 일치시키게 됩니다.
  • 의존성 충돌 문제를 알아서 해결해주고, 패키지를 최신 버전으로 알아서 관리해줍니다.

 

 

 

Poetry 설치

  • Python3.8 이상이어야한다. 아래 가이드 보고 설치 진행

https://python-poetry.org/docs/#installing-with-pipx

 

 

 

Git 저장소에 Poetry 초기화하기

poetry init

 

  • 레포 내에서 init을 하면 다음과 같이 초기 세팅과 관련한 메뉴얼이 나옵니다.
  • Main Dependencies 는 Production 전용,
    Develop Dependencies 는 Dev 전용으로 필요한 패키지를 분리하여 설치하면 된다고 합니다.
  • pyproject.toml이 생성되었음을 확인할 수 있습니다.
  • 프로젝트명에 하이픈('-')이 들어갈 경우, poetry 설치가 제대로 진행되지 않는다는 이슈가 있었습니다.
    그래서 저는 이전에 프로젝트 할 때, 2일 정도 삽질하다가 poetry 사용을 포기한 적이 있었는데요. 아래 링크 건 이슈를 참고하면 좋을 것 같습니다.
    https://github.com/python-poetry/poetry/issues/8631

 

 

 

가상 환경 사용하기

poetry shell

  • poetry가 activate 되었습니다.

 

 

 

패키지들 설치

poetry install
  • pyproject.toml를 기반으로 poetry.lock 파일이 생성되게 되고, lock에 명시된 버전의 패키지들이 설치 됩니다.

 

 

의존성 추가하기

poetry add numpy pandas

  • pyproject.toml 를 참고하여, 호환이 되는 numpy와 pandas가 기록된 걸 볼 수 있습니다.
  • 앞으로 필요한 라이브러리가 있다면, 이런식으로 추가해주면 됩니다.
  • poetry install 과 같은 역할을 또한 수행하기 때문에, 굳이 한번 더 poetry install를 칠 필요는 없습니다.