1. poetry란?
poetry는 파이썬 프로젝트 메타데이터 관리와 패키지 종속성을 관리합니다. poetry설정은 pyproject.toml파일로 관리합니다.
$ cat pyproject.toml
[tool.poetry]
name = "test"
version = "0.1.0"
description = ""
authors = ["choisungwook"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.12"
2. pip대신 사용했을 때 좋은 점
poetry를 pip대신 파이썬 프로젝트를 관리할 때 좋은 점이 어떤게 있을까요?
2.1 프로젝트 이름과 버전관리 유용성
poetry는 프로젝트 이름과 버전을 명시합니다. 프로젝트 버전은 제품을 관리하는데 있어서 매우 중요한 정보입니다. pip는 버전 파일을 별도로 생성해서 관리해야 합니다.
$ cat pyproject.toml
[tool.poetry]
name = "test"
version = "0.1.0"
2.2 파이썬 버전 관리
poetry로 관리하는 파이썬 패키지는 파이썬 버전을 명시합니다. pyproject.toml파일에서 dependencies에 명시되어 있습니다.
$ cat pyproject.toml
[tool.poetry.dependencies]
python = "^3.12"
2.3 사용하는 파이썬 패키지를 명확하게 표시
poetry는 pip와 다르게 사용하는 파이썬 패키지를 명확하게 표시합니다. pyproject.toml파일에서 dependencies에 프로젝트가 사용하는 파이썬 패키지 목록이 있습니다.
$ cat pyproject.toml
[tool.poetry.dependencies]
python = "^3.12"
fastapi = "^0.111.0"
pip freeze 또는 list명령어로 프로젝트가 사용하는 파이썬 패키지 목록을 확인합니다. 종속성이 걸려있는 모든 파이썬 패키지가 조회되므로, 프로젝트가 어떤 패키지를 사용하는지 정확히 알지 못합니다.
$ pip freeze
annotated-types==0.7.0
anyio==4.4.0
certifi==2024.6.2
click==8.1.7
dnspython==2.6.1
email_validator==2.1.1
fastapi==0.111.0
fastapi-cli==0.0.4
h11==0.14.0
httpcore==1.0.5
httptools==0.6.1
httpx==0.27.0
idna==3.7
Jinja2==3.1.4
...이하생략
2.4 우수한 파이썬 패키지 삭제
poetry는 파이썬 패키지를 삭제하면 종속성이 걸린 패키지를 전부 삭제합니다.
poetry remove {패키지 이름}
pip로 파이썬 패키지를 삭제하면, 종속성이 걸린 패키지는 삭제되지 않습니다.
pip uninstall {패키지 이름}
2.5 파이썬 가상환경
poetry는 파이썬 가상환경을 생성 기능이 내장되어 있습니다. 파이썬 가상환경은 HOME디렉터리에 만들어지므로 gitignore에 파이썬 가상환경을 추가하지 않아도 됩니다.
poetry shell
가상환경 활성화 후 poetry install로 파이썬 패키지를 설치할 수 있습니다.
poetry install
3. poetry 사용방법
3.1 poetry 초기화(또는 설정파일 생성)
poetry를 사용하려면 pyproject.toml파일이 있어야 합니다. poetry init명령어를 사용하면 pyproject.toml파일이 생성됩니다.
poetry init
3.2 파이썬 가상환경 생성
파이썬 가상환경을 생성하고 싶다면 poetry shell명령어를 실행하세요. poetry shell은 poetry toml파일을 읽어 파이썬 가상 환경을 활성화합니다. 더 많은 파이썬 가상환경을 설정하는 명령어는 poetry env을 사용하면 됩니다.
poetry shell
3.3 파이썬 패키지 설치
poetry add명령어로 파이썬 패키지를 설치할 수 있습니다.
poetry add {패키지 이름}
설치한 파이썬 패키지는 pyproject.toml에 기록됩니다. 그리고 종속성이 있는 패키지는 poetry.lock파일에 저장됩니다.
$ cat pyproject.toml
[tool.poetry]
name = "test"
version = "0.1.0"
3.4 파이썬 패키지 삭제
poetry remove 명령어로 파이썬 패키지를 삭제할 수 있습니다. 종속성이 걸려있는 파이썬 패키지도 삭제됩니다.
poetry remove {패키지 이름}
3.5 모든 파이썬 패키지 설치
poetry.lock파일에 있는 모든 파이썬 패키지를 설치하려면 poetry install명려어를 사용하세요.
poetry install
3.6 poetry로 생성한 파이썬 가상환경 조회
poetry env list
'전공영역 공부 기록' 카테고리의 다른 글
pycharm에서 Django 실행하는 방법 (0) | 2024.06.09 |
---|---|
맥OS 터미널에서 pycharm 명령어 실행 방법 (0) | 2024.06.09 |
쿠버네티스 임시 볼륨을 잘못 사용하면 장애 발생 (0) | 2024.06.02 |
iterm 설정 (0) | 2024.06.02 |
Amazon Managed Prometheus를 지금 사용하는건 시기상조같다. (0) | 2024.05.26 |