반응형
1. 프로젝트별 의존성 격리
- Python 프로젝트마다 필요한 패키지 버전이 다를 수 있습니다.
- venv를 사용하면 각 프로젝트별로 독립적인 환경을 만들어 충돌 없이 사용할 수 있습니다.
- 예를 들어, 프로젝트 A에서는 Django 3.2, 프로젝트 B에서는 Django 4.0이 필요할 경우 각각의 venv에서 다른 버전을 설치하여 사용 가능합니다.
2. 전역 패키지 오염 방지
- pip를 사용하여 패키지를 설치할 때, 기본적으로 글로벌 환경(시스템 전체)에 설치됩니다.
- 여러 프로젝트에서 공통 패키지를 사용하면, 다른 프로젝트에서 특정 버전의 패키지를 필요로 할 때 충돌이 발생할 수 있습니다.
- venv를 사용하면 프로젝트 내부에만 패키지가 설치되므로, 전역 환경을 오염시키지 않습니다.
3. 배포 및 재현성 유지
- 프로젝트 개발이 완료된 후, 동일한 환경을 배포 서버에서도 만들어야 합니다.
- venv를 사용하면 requirements.txt(또는 pip freeze > requirements.txt)로 설치된 패키지 목록을 저장하고, 배포 시 동일한 환경을 재현할 수 있습니다.
4. Python 버전 관리와 호환성 유지
- 특정 프로젝트는 Python 3.8에서 실행되어야 하고, 다른 프로젝트는 Python 3.10이 필요할 수 있습니다.
- venv를 사용하면 프로젝트마다 다른 Python 버전을 설정하여 실행할 수 있습니다. (pyenv와 함께 사용하면 더욱 효과적)
5. 보안 강화
- 전역 환경에서 불필요한 패키지를 설치하는 것은 보안 취약점을 초래할 수 있습니다.
- venv는 필요한 패키지만 설치하도록 관리하여 보안성을 높이는 데 도움을 줍니다.
반응형
가상 환경 사용 방법
1. 가상 환경 생성
python -m venv myenv
2. 가상 환경 활성화
- Linux/macOS
source myenv/bin/activate
2. 가상 환경 비활성화
deactivate
반응형
'IT > 기타' 카테고리의 다른 글
텐서플로우 (3) | 2025.02.12 |
---|---|
이클립스 내 코드를 SVN 버전으로 복구하는 방법 (1) | 2025.02.11 |
HPE 이즈메랄 컨테이너 플랫폼 (0) | 2025.02.10 |
검색증강생성(RAG, Retrieval-Augmented Generation) 기술 (0) | 2025.02.06 |
OpenLayers (1) | 2025.02.03 |