poetry 가상환경 세팅 및 활성화 방법

유예지·2024년 12월 5일

1. Poetry 로 폴더 내 venv 환경 만들기

작업 환경에서 python venv 경로가 꼬이는 경우 일단 poetry로 해결할 수 있다.

sudo apt install python3.12-venv  # 대체 가능

1.1. pyproject.toml 파일 생성

  • 가상환경을 만들고자 하는 경로에 접속하여 Ternimal 실행
  • 해당 폴더를 init 해서 pyproject.toml 파일 생성
poetry init

1.2. 가상환경 생성 (이름은 .venv 로 고정)

poetry config virtualenvs.in-project true
poetry env use python3.12
  • 위의 코드가 실행이 안된다면
poetry env use python

1.3. 가상환경 활성화

poetry shell

2. Poetry 로 requirements.txt 다루기

2.1. requirements.txt 생성

poetry export -f requirements.txt --output requirements.txt

2.2. requirements.txt 다운

poetry add $(cat requirements.txt)

3. Poetry add

3.1. 형태

poetry add 패키지이름@버전

3.2. 예시

  • requests 라이브러리의 2.31.0 버전 설치
poetry add requests@2.31.0
  • 버전 제약 조건을 사용하는 경우
poetry add "requests>=2.0,<3.0"

3.3 추가 팁 : 이미 pyproject.toml에 추가되어 있는 패키지의 버전 수정

  • poetry remove로 패키지를 제거한 후 원하는 버전으로 다시 추가
  • 또는 pyproject.toml 파일을 직접 수정한 뒤 poetry install 실행

4. pyproject.toml 파일 수정 및 적용

  • pyproject.toml 파일을 직접 수정한 경우, 수정사항을 반영하는 방법

4.1. pyproject.toml 파일 직접 수정

4.2. poetry.lock 파일 업데이트

  • pyproject.toml 파일에 정의된 변경 사항을 반영하여 poetry.lock 파일 업데이트
poetry lock

4.3. 업데이트된 poetry.lock 파일을 기반으로 종속성 설치

poetry install

4.4. 추가 옵션

  • --no-update 사용 : pyproject.toml 파일을 바꿨지만 종속성 버전을 그대로 유지하고 싶은 경우
poetry lock --no-update
  • 파일 복구 확인 : 만약 pyproject.toml 수정 중 실수로 인해 비정상적인 상태가 발생한 경우, 이전 상태로 복구하거나 수동으로 파일을 다시 검토하여 오류 수정 필요

4.5. 일반적인 문제 방지 팁

  • 항상 poetry 명령어를 사용하여 의존성을 추가하거나 제거하는 것이 좋음
poetry add <패키지>
poetry remove <패키지>
  • 직접 파일을 편집한 경우, 변경 사항이 정확한지 확인 및 종속성 버전이 유효한지 다시 검토 필요

0개의 댓글