[python] Pipenv를 사용하여 패키지 간 의존성 해결하기

파이썬 프로젝트를 개발할 때 패키지 관리는 매우 중요한 부분입니다. 패키지 간의 의존성을 해결하는 것은 프로젝트의 안정성과 확장성에 직접적인 영향을 미치기 때문입니다. 이를 위해 Pipenv는 매우 편리하고 강력한 도구입니다.

Pipenv는 패키지 관리와 가상 환경 관리를 한 번에 해결해주는 도구입니다. 이를 통해 프로젝트의 패키지 의존성을 관리하고, 버전 충돌을 방지하며, 가상 환경을 생성하여 프로젝트에서 사용되는 패키지들을 격리시킬 수 있습니다.

설치하기

Pipenv를 사용하기 위해서는 우선 파이썬과 pip를 설치해야 합니다. 파이썬 3.3 이상의 버전과 함께 pip를 사용할 수 있다면 설치는 간단합니다. 다음 명령을 실행하여 Pipenv를 설치합니다.

pip install pipenv

프로젝트 세팅하기

Pipenv를 사용하여 프로젝트를 시작하려면 다음과 같은 단계를 따라야 합니다.

  1. 프로젝트 디렉토리로 이동합니다.
  2. pipenv install 명령을 실행하여 프로젝트의 가상 환경을 생성하고, Pipfile.lock 파일을 생성합니다.
cd myproject
pipenv install
  1. pipenv install 명령은 Pipfile 파일에 기반하여 의존하는 패키지들을 설치합니다. Pipfile에는 프로젝트에서 사용할 패키지와 버전 정보가 포함되어 있습니다. Pipfile은 다음과 같은 형식으로 작성됩니다.
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[packages]
requests = "==2.26.0"
django = "==3.2.7"

[dev-packages]
pylint = "==2.10.3"
  1. 프로젝트에서 패키지를 사용할 때는 pipenv run 명령을 사용하여 가상 환경에서 실행합니다.

패키지 추가하기

새로운 패키지를 프로젝트에 추가하기 위해서는 다음과 같은 단계를 따릅니다.

  1. pipenv install 명령과 함께 추가하려는 패키지를 인자로 전달합니다. 예를 들어, requests 패키지를 추가하려면 다음 명령을 실행합니다.
pipenv install requests
  1. Pipfile 파일이 업데이트되고, Pipfile.lock 파일에 추가한 패키지와 의존하는 패키지들의 버전 정보가 저장됩니다.

가상 환경 관리하기

Pipenv는 가상 환경을 관리하기 위한 몇 가지 명령을 제공합니다. 가상 환경을 생성하거나 제거할 때는 다음 명령을 사용합니다.

또한, 가상 환경에서 실행할 때는 pipenv run 명령을 사용합니다. 예를 들어, manage.py 파일을 실행하려면 다음 명령을 사용합니다.

pipenv run python manage.py runserver

Pipenv는 패키지 간의 의존성 관리를 자동으로 처리하여 프로젝트의 빌드 및 배포를 더욱 쉽게 만들어줍니다. 의존성 충돌을 예방하고 가상 환경을 효율적으로 관리할 수 있으므로, 파이썬 프로젝트 개발에는 Pipenv를 적극적으로 활용하는 것이 좋습니다.

참고 자료