내일배움캠프/내일배움캠프 TIL

내일배움캠프 TIL 60일차 - poetry

sogummi 2023. 6. 5. 02:26

Poetry 공식 홈페이지: https://python-poetry.org/

 

Poetry - Python dependency management and packaging made easy

Dependency resolver Poetry comes with an exhaustive dependency resolver, which will always find a solution if it exists. And get a detailed explanation if no solution exists. Isolation Poetry either uses your configured virtualenvs or creates its own to al

python-poetry.org

 

파이썬 Poetry란?


파이썬 프로젝트의 종속성 관리와 패키지 관리를 위한 도구
Poetry를 통해 프로젝트의 가상 환경 관리, 패키지 설치, 패키지 의존성 관리, 버전 관리를 할 수 있음


pip과 poetry의 차이점 

1. 기능 
pip - 단순 패키지 설치 기능
poetry -  패키지 관리, 가상 환경 관리, 의존성 관리, 버전 관리 등 더 포괄적인 기능

2. 프로젝트 관리
pip - 개별 패키지를 설치하고 관리
poetry - 프로젝트 자체의 패키지 종속성을 관리 => pyproject.toml 파일 사용

3. 가상환경
pip - 가상환경 생성을 위해서는 별도로 venv나 virtualenv가 필요
poetry - 내부적으로 가상환경을 생성하고 관리 

4. 명령어 
pip - 간결함
poetry - pip 보다 좀 더 까다로움 

=> poetry의 의존성 관리 기능이 제일 큰 차이점 아닐까 


https://velog.io/@brown_eyed87/220918-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%ED%8C%A8%ED%82%A4%EC%A7%80-%EA%B4%80%EB%A6%AC%ED%88%B4-poetry

 

220918_파이썬 패키지 관리툴 poetry

poetry란 무엇인가, 그리고 pip와의 비교

velog.io

참고 사이트 

의존성이란?

  • 한 요소가 다른 요소에 의존하여 작동하거나 동작할 때의 상태
  • 코드에서 두 모듈간의 연결을 의미하며, 하나의 모듈이 바뀌면 의존하고 있는 다른 모듈까지 변경이 이루어져 수정이 필요하게 된다는 것을 의미
  • 의존성 관리자가 내가 사용하고 있는 모듈의 의존성을 자동으로 체크하여 일괄적으로 처리하게 된다면, API가 최신인지 확인하고 버그가 없는지 등을 사전에 예방할 수 있음
  • 올바르게 관리되지 않은 의존성은 충돌이나 버전 불일치와 같은 문제를 야기 

 

 


 

Poetry 설치하기

curl -sSL https://install.python-poetry.org | python3 -

윈도우

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

pip로 설치

pip install --user poetry

설치확인 (vscode 또는 IDE 재실행)

poetry --version



나는 pip로 설치했음

설치 완료 후 warning이 떴다. 환경변수에 추가되지 않았다는 뜻 

그렇기 때문에 poetry --version을 입력해도 당연히 command not found 뜸 

 

환경변수 경로를 추가해주자

poetry 파일이 있는 경로를 Path에 추가해주면 됨 

Path 클릭 후 편집 클릭

경로 추가 

vscode 재실행 후 명령어 입력해보니 이제 Poetry의 버전정보가 잘 뜬다