Python/Utils

파이썬 pipenv 가상 환경 관리 기초(특징 및 명령어 정리)

jimmy_AI 2023. 10. 8. 19:50
반응형

파이썬 프로젝트를 conda 환경으로 관리하는 경우가 많지만,

때로는 pipenv로 가상 환경을 다루는 것이 큰 이점을 가져다주는 경우도 있습니다.

 

이번 글에서는 아주 간략하고 쉽게 pipenv의 특징과 장점 및

기본적인 명령어 몇 가지를 정리해보도록 하겠습니다.

 

 

pipenv 특징 및 장점

pipenv가 conda와 구분되는 특징 중 가장 대표적인 내용은 다음과 같습니다.

  • 디렉토리마다 가상 환경을 별도로 두는 것이 특징입니다.(한 가상 환경을 여러 프로젝트가 공유할 수 있는 conda와는 대비되는 특징입니다.)
  • dev 버전에서만 필요한 의존성을 별도로 두고 관리할 수 있습니다.
  • 패키지 버전 의존성을 관리하고 쉽게 배포 가능합니다.(Pipfile 및 Pipfile.lock 파일들로 관리됩니다.)

이 외에도 패키지 간 의존 관계 시각화, 편리한 환경 변수 관리 및 간편한 패키지 업데이트 방법

등도 추가적인 pipenv의 특징 및 장점이 될 수 있습니다.

 

반응형

 

pipenv 명령어

이제 터미널 상에서 pipenv로 가상 환경을 관리할 수 있는 대표적인 명령어를

몇 가지 정리해보도록 하겠습니다.

 

1. pipenv 설치(미설치 시 초기에 필요)

pip install pipenv

 

2. 프로젝트 디렉토리 내에서 pipenv 시작

cd my_project # 프로젝트 루트 디렉토리 진입
pipenv install

 

3. 패키지 설치

pipenv install package_name
pipenv install package_name==1.2.3 # 버전 지정
pipenv install "package_name>=1.2.3" # 버전 범위 지정

 

4. dev 버전에서만 필요한 패키지 설치(프로덕션 배포 시 필요한 버전 리스트에는 반영되지 않음)

pipenv install pytest --dev # pytest 모듈은 dev 버전에서만 필요하다고 가정

 

5. pipenv 진입 / 나가기(프로젝트 루트 디렉토리에서 실행)

pipenv shell # pipenv 환경 진입
exit # pipenv 환경 나가기 (Ctrl + D도 가능)

 

6. 패키지 삭제

pipenv uninstall package_name

 

7. pipenv 환경 python 버전 지정

pipenv --python 3.8

 

8. 해당 디렉토리 내 pipenv 환경 삭제

pipenv --rm

 

9. 다른 곳에 해당 환경 배포(Pipfile.lock 파일 복사하여 가져오기 필요)

pipenv sync # 프로덕션 배포용 환경
pipenv sync --dev # dev용 환경

 

10. pipenv 환경 내에서 파이썬 파일 실행

python main.py # pipenv 이미 진입 시
pipenv run python main.py # pipenv 미진입 시