반응형
파이썬 프로젝트마다 별도의 환경이 필요하고, 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
'Python > Utils' 카테고리의 다른 글
파이썬 redis 유효 시간 ttl 설정 방법 예제 (0) | 2024.04.16 |
---|---|
파이썬 API 호출 동시에 여러 번 수행 방법(aiohttp 비동기 호출 응용) (0) | 2024.03.19 |
파이썬 코드 포맷터 black 사용하는 이유 / 사용 방법 (0) | 2024.03.13 |