Daily Develope

[Poetry] Poetry 설치 및 기본 명령어 on Mac 본문

Develope/Python

[Poetry] Poetry 설치 및 기본 명령어 on Mac

noggame 2025. 3. 5. 11:05

설치

ㅇ poetry 직접 설치

- python 설치

- 설치된 python 기반으로 poetry 설치

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

 

ㅇ 환경설정

- poetry binary 경로 추가

- 설치 후 설치된 경로 확인하고, 해당 경로를 PATH에 추가

# 설치경로 = "Users/username/.local/bin"
export PATH="Users/username/.local/bin:$PATH"

 

- Zsh 명령에 추가 (Zsh을 재시작 하는 경우에도 명령어 사용 가능)

vim ~/.zshrc
PATH="/Users/username/.local/bin:$PATH"

 


구조

ㅇ toml 파일 : 설치 또는 사용자 정의에 의한 간략한 의존성 정보 표현

ㅇ poetry.lock : 실제 설치 과정에 필요한 각 패키지의 세부적인 의존성 정보 표현

  • poetry install 과정에 사용됨

가상환경 관리

 

- 특정 python 버전의 가상환경 생성 및 활성화 (pyenv 필요)

pyenv install 3.9.8
pyenv local 3.9.8  # Activate Python 3.9 for the current project
poetry install

# pyenv 환경 확인
pyenv versions

 

- 사용 가능한 가상환경 (base python) 확인

poetry python list

 

- 가상환경 활성화

# python 가상환경 이름으로 불러오기
poetry env use {env_name}

# python 설치 경로로 불러오기
poetry env use {env_path}

 

- poetry에서 사용중인 가상환경 정보 확인

# 목록 확인
poetry env list

# 간략정보 확인
poetry env info

 

- 가상환경 접속

eval $(poetry env activate)

 

- 가상환경 삭제

# 가상환경 이름으로 삭제
poetry env remove {env_name}

# 가상환경 경로로 삭제
poetry env remove {path}

# 가상환경 전체 삭제
poetry env remove --all

 


 패키지 관리

 

- poetry.lock 파일 기반으로 패키지 설치

# 현재 프로젝트의 poetry.lock 기반 설치
poetry install

# 개발환경의 의존성 패키지는 제외하고 설치
poetry instlal --no-dev

# 추가 패키지 설치
poetry install -E "transformers pandas"
# 또는
poetry install --extras "transformers pandas"

 

- 패키지 조회

poetry show

# 의존성 포함
poetry show --tree

# 특정 패키지 조회
poetry show {패키지명}

# 개발환경 제외
poetry show --no-dev

# 업데이트 필요한 패키지 조회
poetry show --outdate

 

- 패키지 추가

poetry add {패키지명}

# 그룹명으로 추가 (--group)
poetry add -G mygroup {package_name}

# dev 환경으로 추가 (--dev 또는 --gourp dev)
poetry add -D mydev {package_name}

 

- 패키지 삭제

poetry remove {패키지명}

 

- 의존성 정보를 현재 버전으로 업데이트

# 전체 업데이트 (.lock, .toml)
poetry update

# 특정 패키지 정보만 업데이트
poetry update {package1} {package2}

# .lock 파일만 업데이트
poetry update --lock

 

- requirements.txt 파일로 export

poertry export -f requirements.txt > requirements.txt

 


의존성 Syntax

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

 

 

Comments