반응형
Python에서 프로젝트마다 독립된 실행 환경을 만들어주는 기능입니다.
venv, virtualenv, conda 등이 여기에 속합니다.
✅ 가상환경을 사용하는 주요 이유
1. 패키지 충돌 방지
- 프로젝트마다 필요한 패키지 버전이 다를 수 있음
- 예:
- 프로젝트 A는 llama-index==0.10 사용
- 프로젝트 B는 llama-index==0.9만 호환
- → 가상환경을 사용하면 서로 독립적인 공간에서 동작
2. 운영 환경 보호
- 시스템 전체에 영향을 주지 않고 Python 패키지를 설치 가능
- sudo pip install 등으로 전역 환경 오염 방지
3. 재현 가능한 환경 구성
- requirements.txt로 환경을 통째로 백업/복원 가능
- 협업자/운영 서버에 동일한 실행 환경 전달 용이
4. 보안성과 유지보수
- 보안 분석/자동화 환경에서는 특정 도구 버전이 민감할 수 있음
→ 가상환경으로 안정성 유지 및 업데이트 범위 제한
📦 실무 예시
구분전역 설치가상환경 사용
| pip install llama-index | 시스템 전체에 영향 | 해당 프로젝트에만 영향 |
| python3 호출 시 | 여러 프로젝트와 충돌 가능 | venv/bin/python 으로 독립 실행 가능 |
🔐 보안 담당자 입장에서 가상환경은?
- 공격 surface 최소화: 불필요한 전역 패키지 방지
- 자동화 스크립트 관리 용이: 각 워크플로우별 독립 구성 가능
- 버전 고정으로 재현성 확보: 탐지 모델, 분석 도구를 안정적으로 운영
✅ 결론
가상환경은 Python RAG 프로젝트를 안정적으로 개발, 운영, 이식하기 위한 표준적인 방식입니다.
특히 보안 분야에선 재현성과 독립성이 필수이기 때문에 더욱 권장됩니다.
반응형
'IT기술 관련 > 파이썬_루비 등 언어' 카테고리의 다른 글
| 파이썬 에러 ModuleNotFoundError: No module named ‘win32api’ 해결 방법 (0) | 2023.03.14 |
|---|---|
| 파이썬 has no attribute '__path__' 에러 (0) | 2021.07.02 |
| Python whl 파일 설치 방법 (0) | 2019.11.13 |
| 파이썬 requests 라이브러리를 활용한 웹 취약점 점검 (0) | 2017.02.02 |
| [PYTHON 3] Tutorials 24. 웹 크롤러(like Google) 만들기 1 - How to build a web crawler (1) | 2017.02.02 |