Python/Utils

파이썬 가상 환경 도구 poetry 특징 및 명령어 정리

jimmy_AI 2024. 4. 4. 00:07
반응형

파이썬 프로젝트마다 별도의 환경이 필요하고, conda 환경으로 관리하는 경우가 많지만,

poetry로 가상 환경을 다루는 것도 큰 이점을 가져다주는 경우가 많습니다.

이번 글에서는 간단하고 명료하게 poetry의 특징과 장점 및

기본적인 명령어 예시를 정리해보도록 하겠습니다.

 

 

Poetry 특징 및 장점

  • 디렉토리마다 가상 환경을 별도로 두는 것이 특징입니다. 이 특징은 pipenv와도 유사합니다.
  • 모듈의 버전 간 종속성을 자동으로 해결하고 관리해주는 것이 가장 큰 장점입니다. 예를 들어, 모듈 설치 시 기존 모듈의 버전과 호환이 되지 않으면 이를 해결할 수 있도록 안내해주며, 기존 모듈들끼리 호환이 되는 범위 내에서 버전을 자동으로 골라줍니다.
  • 개발용 버전에서만 필요한 의존성을 별도로 두고 관리할 수 있습니다.
  • pyproject.toml 파일을 통하여 패키지를 쉽게 관리하고 배포를 간편하게 도와줍니다.

 

 

Poetry 명령어 예시

1. poetry 설치

pip install poetry

 

 

2. poetry 패키지 생성

(새로운 프로젝트를 위한 루트 디렉토리가 생성되며,

my_project에 해당하는 위치에 원하는 이름을 적으면 됩니다.)

poetry new my_project

 

 

3. 기존 프로젝트에서 poetry 시작

poetry init

 

 

4. 패키지 의존성 추가

(pyproject.toml 파일에 해당하는 의존성에 대한 내용이 적힙니다.)

poetry add numpy # 버전 자동 선택
poetry add requests@2.25.1 # 특정 버전 지정
poetry add "requests@~2.25.0" # 2.25.0~2.26.0 버전에서 지정
poetry add `cat requirements.txt` # requirements.txt 목록 전체 추가
poetry add numpy --dev # 개발용 버전에서 추가

 

 

5. 패키지 의존성 제거

poetry remove requests
poetry remove requests --dev # 개발용 버전에서 제거

 

 

6. 패키지 설치(4번 과정 선행 후 진행)

poetry install

 

 

7. 패키지 목록이 설치된 가상환경 실행

(conda와 같은 환경이 자동으로 세팅되는 것과 유사합니다.)

poetry shell

 

 

8. 패키지 빌드

poetry build

 

 

9. 파이썬 파일 실행

poetry run python main.py