Poetry로 dependency 관리

1. Poetry란?

파이썬 의존성 관리 툴 (Maven, Gradle 같은거)

2. Install & Setting

2.1. Install

리눅스에서 설치하기

pip 로 설치하기

2.2. Setting

Project 생성

pyproject.toml 이 의존성을 관리하는 파일이다. 스프링을 할 때 maven의 pom.xml 이나 gradle의 build.gradle 파일을 생각하면 될 것 같다.

추가를 하고 싶으면 add

poetry.lock 파일이 내가 작성하고 있는 프로젝트와 동일한 의존성을 가지도록 할 수 있는 파일이다.

파일 내에 버전 범위를 표현하는 기호는 공식 문서를 참고하자.

https://python-poetry.org/docs/dependency-specification/

3. 명령어

(이미 너무 정리가 잘되어 있어서 내용을 그대로 퍼왔습니다. 출처는 하단)

new

new 명령어로 새로운 프로젝트를 만들 수 있습니다.

위 명령어를 실행하면 아래와 같은 기본 디렉토리 구성을 만들어줍니다.

init

init 커맨드는 pyproject.toml 파일을 인터렉티브 하게 만들 수 있도록 도와줍니다.

install

install 커맨드는 현재 프로젝트의 pyproject.toml 파일을 읽어서 의존성 패키지를 설치해줍니다. poetry.lock 이 없으면 만들어주고 있으면 해당파일을 사용하게됩니다.

update

의존성 패키지의 버전을 업데이트하고 poetry.lock 파일을 업데이트 합니다.

add

패키지설정을 pyproject.toml 에 추가합니다.

remove

패키지 삭제

show

build

위에도 적었지만 소스를 배포가능한 형태로(tarball, wheel)빌드합니다.

publish

아래 명령어로 PyPI에 배포할 수 있습니다.

배포를 하려면 PyPI 계정이 필요합니다. 계정이 없다면 여기를 클릭 하시고 하나 만드셔도 좋습니다. 프로젝트명이 겹치면 배포를 할 수 없으니, 자신만의 독특한 프로젝트 명을 정해서 배포를 해보도록 합시다.

config

config 커맨드로 poetry 관련 설정을 변경할 수 있습니다.

run

프로젝트의 virtualenv 에 커맨드를 전달하여 실행하게 됩니다.

check

pyproject.toml 의 유효함을 체크하는 명령어입니다.

패키지를 찾기위한 커맨드입니다. 예를들어 beautifulsoup 의 패키지명의 철자가 기억이 안나고 beautiful 만 기억나면 아래와 같이 할 수 있습니다 .

lock

pyproject.toml 에 설정된 의존성들에 대한 lock 파일을 생성합니다. (설치X)

export

export 명령어는 lock 파일을 사용해서 다른 의존성 포맷으로 변경할 수 있습니다.

가상 환경 관리하기

poetry 로 가상환경(virtualenv)을 관리 할 수 있습니다.

일반적으로 아래와 같이 사용합니다.

만약에 python3 이 패스에 잡혀 있는 상황이라면 모든 경로를 적어주지 않아도 됩니다.

가상환경 정보보기

poetry env info 커맨드로 환경 정보를 확인할 수 있습니다.

저의 경우는 아래와 같이 출력되었습니다.

단순하게 가상환경의 path만 알고 싶은 경우라면 --path 옵션을 주면 됩니다.

가상환경 리스트 보기

만들어진 가상환경의 리스트는 아래의 명령어로 확인 가능합니다.

가상환경 삭제하기

삭제는 아래의 명령어로 가능합니다.

Reference

Last updated

Was this helpful?