langchain / / 2024. 5. 11. 09:57

pipenv를 통한 의존성 관리

pipenv는 Python 프로젝트의 의존성 관리를 위한 도구이다. 주로 프로젝트의 가상 환경 관리와 의존성 설치를 단순화하는 데 사용된다.

이전에는 보통 pipvirtualenv를 사용하여 파이썬 프로젝트를 관리했지만, pipenv는 이러한 작업들을 훨씬 더 편리하게 만들어준다.

  1. 가상 환경 관리: 프로젝트마다 독립적인 가상 환경을 생성하여 각 프로젝트의 의존성을 격리시킨다.
  2. 의존성 관리: PipfilePipfile.lock 파일을 사용하여 프로젝트의 의존성을 관리한다. 이를 통해 의존성의 정확한 버전을 추적하고 공유할 수 있다.
  3. 간편한 설치 및 삭제: pipenv install 명령을 사용하여 프로젝트의 의존성을 설치하고, pipenv uninstall 명령을 사용하여 의존성을 제거할 수 있다.
  4. 가상 환경 자동 활성화: 프로젝트 디렉토리로 이동할 때마다 해당 프로젝트의 가상 환경이 자동으로 활성화된다.
  5. 정확한 의존성 해결: Pipfile.lock 파일을 통해 의존성의 정확한 버전을 추적하고, 동일한 버전을 여러 환경에서 사용할 수 있다.

pipenv 설치

Mac 사용자

$ brew install pipenv

pip를 통한 설치

$ pip install pipenv

가상환경 구성

mkdir python-demo
cd python-demo

--python <버전> 옵션과 함께 pipenv를 실행하면 가상환경이 만들어진다.

$ pipenv --python 3.12

여기에 Pipfile이 생성된 것을 확인할 수 있는데 Pipfile은 해당 가상환경에서 사용되는 의존성 파일과 버전을 관리하는 파일이다. npm환경에서 package.json이나 maven의 pom.xml과 같은 역할을 한다고 생각할 수 있다.

# Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]

[dev-packages]

[requires]
python_version = "3.12"
python_full_version = "3.12.3"

가상환경의 위치 확인

$ pipenv --venv
/Users/macbookpro/.local/share/virtualenvs/python-demo-UwkwI5AP
$ pipenv --py
/Users/macbookpro/.local/share/virtualenvs/python-demo-UwkwI5AP/bin/python

가상환경 사용

터미널에서 가상환경을 활성화할 수 있다.

$ pipenv shell

가상환경을 비활성화하려면 exit하면 된다.

$ exit

가상환경을 제거하려면

$ pipenv --rm

패키지 설치

pipenv install <패키지명>으로 설치할 수 있다.

아래는 requests를 설치하는 명령어다.

$ pipenv install requests

pip install requests와 pipenv install requests의 차이점은 뭘까?

pipenv로 설치하면 Pipfile에 의존성이 추가되어 다른 환경에서도 동일하게 설치할 수 있지만
pip로 설치하면 패키지가 설치가 되지만 Pipfile에 어떤 패키지가 설치되었는지 추가되지 않는다. 그래서 의존성 관리를 하기가 어렵다.

패키지 모두 설치

Pipfile 파일에 정의된 모든 패키지를 한번에 설치할 수 있다.

$ pipenv install

requirements.txt로 내보내기

requirements.txt로 내보내기를 할 수 있다.

$ pipenv requirements > requirements.txt

다시 pip로 설치하려면

pip install -r requirements.txt
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유