본문 바로가기
카테고리 없음

[파이썬 심화] 가상환경의 필요성, pip 활용, 의존성 관리

by 개발자를 꿈꾸는 사람들과 함꼐 2025. 4. 15.

왜 가상환경이 필요한가?

가상환경(Virtual Environment)은 파이썬 프로젝트마다 독립된 패키지 공간을 만들어줍니다.
이는 다음과 같은 이유로 필수적입니다:

      
  • 프로젝트마다 사용하는 라이브러리 버전이 다를 수 있음
  •   
  • 시스템 파이썬과 분리하여 안전하게 개발 가능
  •   
  • 협업 시 일관된 개발 환경 유지

기본 가상환경 생성 방법

python -m venv venv

venv 폴더가 생성되며, 이 폴더 안에 독립적인 파이썬 환경이 구축됩니다.
venv는 파이썬 3.3 이상에서 기본으로 제공됩니다.

가상환경 활성화

      
  • Windows: venv\Scripts\activate
  •   
  • macOS/Linux: source venv/bin/activate

비활성화 (종료)

deactivate

가상환경을 빠져나올 때는 언제든지 deactivate 명령어를 사용하면 됩니다.

pip을 활용한 패키지 설치 및 requirements 관리

1. 패키지 설치 및 확인

pip install requests

pip은 파이썬의 공식 패키지 관리자입니다.
requests 같은 외부 라이브러리를 PyPI(Python Package Index)에서 다운로드합니다.

2. 설치된 패키지 목록 보기

pip list

3. 의존성 목록 저장하기

pip freeze > requirements.txt

pip freeze는 현재 가상환경의 모든 패키지와 버전을 출력합니다.
이를 파일로 저장하면 협업 시 패키지를 재설치할 수 있습니다.

4. requirements.txt로 환경 복원

pip install -r requirements.txt

이 명령어는 requirements.txt 파일에 명시된 패키지를 자동으로 설치합니다.
개발 환경을 복제하거나 서버 배포 시 매우 유용합니다.

5. 자동으로 의존성 파일 생성 - pipreqs

pip install pipreqs
pipreqs . --encoding=utf-8 --force

pipreqs는 실제 사용된 패키지 기준으로 필요한 라이브러리만 추출해 requirements.txt를 생성합니다.
pip freeze보다 더 간결한 리스트를 만들고 싶을 때 유용합니다.

pipenv를 이용한 고급 가상환경 및 의존성 통합 관리

pipenvpip + venv 기능을 통합하여 가상환경과 패키지를 한 번에 관리할 수 있는 도구입니다.
프로젝트 단위로 의존성과 파이썬 버전까지 명확하게 지정할 수 있습니다.

1. pipenv 설치

pip install pipenv

2. 가상환경 생성 및 패키지 설치

pipenv install requests

처음 실행하면 virtualenv 기반의 가상환경이 자동으로 생성되고,
Pipfile, Pipfile.lock을 통해 설치된 패키지가 추적됩니다.

3. 가상환경 진입

pipenv shell

현재 프로젝트의 가상환경 안으로 들어갈 수 있습니다.
deactivate로 종료할 수 있습니다.

4. 모든 의존성 설치

pipenv install

Pipfile 기준으로 의존성을 설치합니다.
팀원과 공유된 프로젝트 환경을 정확히 동일하게 재현할 수 있습니다.

5. 특정 파이썬 버전 지정

pipenv --python 3.10

지정된 파이썬 버전으로 가상환경을 생성합니다.   버전이 설치되어 있어야 하며, 프로젝트에 명시적 환경 기준이 필요한 경우 유용합니다.