Programing Language/Python
pipenv을 사용한 가상환경, 패키지 관리하기
jheaon
2024. 7. 29. 12:59
Pipenv
pipen는 파이썬에서 패키지를 프로젝트 단위로 관리할 수 있도록 하는 고급 패키지 관리 도구이다. pip 위에서 동작하지만, 프로젝트 별로 격리된 가상 환경을 제공한다.
🖥️ Terminal
pip install pipenv
버전에 따른 가상 환경 구성 및 설치
버전에 따른 가상 환경을 구성하기 위해서는 다음과 같은 옵션값과 함께 명령어를 실행한다.
pipenv --python 3.11 # 버전에 따라 변경 가능
구성된 가상 환경을 활성화하기 위해서는 다음 명령어를 실행한다.
pipenv shell
가상환경 내에 패키지를 설치하기 위해서는 다음 명령어를 실행한다.
pipenv install django # 설치
pipenv uninstall django # 삭제
pipfile, pipfile.lock 파일을 통해 프로젝트 전체 패키지를 다운로드하기 위해서는 다음 명령어를 실행한다.
pipenv install
현재 설치되어 있는 패키지를 확인하기 위해서는 다음의 명령어를 실행한다.
pipenv graph
현재 취약점이 있는 패키지를 확인하기 위해서는 다음의 명령어를 실행한다.
pipenv check
pipenv 가상환경에서 사용했던 패키지들 도커에 설치하기
pipenv에서 사용했던 패키지를 도커 환경에 설치하기 위해서는 다음과 같이 도커파일을 작성해 주면 된다.
🐳 dockerfile
FROM python:3.12
COPY . /project/
WORKDIR /project/
RUN python -m pip install --upgrade pip
RUN pip install pipenv && pipenv install --dev --system --deploy
EXPOSE 8000
- --dev: 개발 환경 의존성을 설치한다. Pipfile의 dev-packages에 정의된 모든 패키지를 설치한다.
- --system: 가상 환경을 사용하지 않고, 시스템의 전역 Python 환경에 패키지를 설치한다.
- --deploy: 배포 모드에서 설치를 진행한다. Pipfile.lock 파일에 명시된 정확한 버전의 패키지를 설치한다.