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를 칠 필요는 없습니다.