Post

[CS 지식] 파이썬 가상환경 & Poetry

파이썬의 가상환경에 대해서

[CS 지식] 파이썬 가상환경 & Poetry

✏️ Python 가상 환경

가상 환경은 특정 프로젝트에서 독립적인 Python 환경을 제공한다. 이를 통해 프로젝트 간에 패키지 충돌을 방지하고, 재현성을 확보하는 데 도움을 준다.

■ 가상 환경의 필요성

  • 패키지 충돌 방지
    각 프로젝트마다 사용하는 패키지 버전이 다를 수 있다. 프로젝트별 독립적인 환경을 생성하여 충돌을 방지한다.
  • 재현성
    가상 환경을 사용하면 프로젝트에 필요한 라이브러리와 그 버전을 명확히 정의하고 고정할 수 있어, 다른 개발자가 동일한 환경을 재현할 수 있다.


■ 가상 환경 생성 방법

기본적으로 Python에는 가상 환경을 생성하는 venv 모듈이 포함되어 있다.

1
2
3
4
5
6
7
8
# 가상 환경 생성
python -m venv <env_name>

# 가상 환경 활성화 (Mac/Linux)
source <env_name>/bin/activate

# 가상 환경 비활성화
deactivate

가상 환경을 생성하고 활성화하면, 해당 환경 내에서 설치한 패키지는 그 환경에만 영향을 미친다.




✏️ Poetry

Poetry는 Python 프로젝트의 의존성 관리와 패키지 배포를 간소화하는 도구이다. 가상 환경을 자동으로 관리하며, 종속성을 일관성 있게 설치하고 프로젝트를 깔끔하게 유지할 수 있게 해준다.


■ Poetry의 주요 기능

  1. 의존성 관리: pyproject.toml 파일을 사용하여 프로젝트의 종속성을 명확하게 정의하고, poetry.lock 파일을 통해 종속성의 정확한 버전을 고정하여 재현 가능한 환경을 제공한다.

  2. 가상 환경 관리: 프로젝트마다 가상 환경을 자동으로 생성하고 관리한다.

  3. 배포 준비: poetry publish 명령으로 프로젝트를 PyPI에 쉽게 배포할 수 있다.


■ Poetry 설치 및 기본 명령어

Poetry를 설치하려면 다음 명령을 사용한다:

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


Poetry의 주요 명령어는 다음과 같다:

  1. 새 프로젝트 생성:
    1
    
    poetry new <project_name>
    


  1. 기존 프로젝트에 종속성 추가:
    1
    
    poetry add <package_name>
    


  1. 의존성 설치:
    1
    
    poetry install
    


  1. 가상 환경 활성화:
    1
    
    poetry shell
    


  1. 가상 환경 비활성화:
1
deactivate


■ Poetry와 가상 환경

Poetry는 프로젝트별로 가상 환경을 자동으로 생성하고 관리한다.

  • 의존성 설치
    poetry install 명령을 실행하면, Poetry는 해당 프로젝트에 맞는 가상 환경을 생성하고, pyproject.toml 파일에 정의된 모든 종속성을 가상 환경에 설치한다.
  • 가상 환경 진입
    poetry shell 명령을 통해 가상 환경에 진입하면, 해당 프로젝트에 종속된 라이브러리를 사용할 수 있다. 가상 환경을 나올 때는 deactivate 명령을 사용한다.

Poetry는 의존성 관리와 가상 환경 생성을 일관되게 처리해 주므로, 개발자가 직접 가상 환경을 설정하고 관리할 필요가 없어 효율적이다.

This post is licensed under CC BY 4.0 by the author.