왜 가상환경이 필요한가?
가상환경(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를 이용한 고급 가상환경 및 의존성 통합 관리
pipenv
는 pip + 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
지정된 파이썬 버전으로 가상환경을 생성합니다. 버전이 설치되어 있어야 하며, 프로젝트에 명시적 환경 기준이 필요한 경우 유용합니다.