Python 가상 환경: venv 및 종속성 격리
Python 가상 환경을 마스터하세요. venv 및 pip를 사용하여 종속성을 안전하게 생성, 활성화 및 관리하는 방법을 알아보세요.
개요
여러 Python 프로젝트를 작업할 때 필연적으로 종속성 충돌이 발생합니다. 프로젝트 A에는Django버전 3.2가 필요할 수 있고, 프로젝트 B에는Django버전 5.0이 필요할 수 있습니다. 이러한 패키지를 전역적으로 설치하면 서로 덮어쓰게 되어 애플리케이션 중 하나가 손상됩니다. 가상 환경은 자체 Python 바이너리 및 라이브러리 설치를 포함하는 격리된 프로젝트별 디렉터리를 생성하여 이 중요한 문제를 해결합니다.
Python은 'venv' 모듈을 통해 가상 환경에 대한 기본 지원을 제공합니다. 가상 환경을 생성하면 Python 인터프리터의 복사본과 셸 환경을 조정하기 위한 스크립트가 포함된 새 폴더가 생성됩니다. 활성화되면 `pip`를 사용하여 설치하는 모든 패키지가 이 격리된 폴더로 직접 라우팅되므로 전역 Python 설치가 프로젝트별 라이브러리의 영향을 받지 않고 깔끔하게 유지됩니다.
가상 환경을 관리하려면 세 가지 핵심 명령이 필요합니다. 먼저 `python -m venv venv`는 `venv`라는 가상 환경 디렉터리를 생성합니다. 다음으로 환경을 활성화합니다(macOS/Linux에서는 `source venv/bin/activate`, Windows에서는 `venv\Scripts\activate`). 마지막으로 `pip 동결 > 요구 사항.txt`를 사용하여 종속성을 고정하고 다른 개발자가 정확한 환경을 다시 만드는 데 사용할 수 있는 목록을 만듭니다. 가상 환경을 이해하는 것은 현대 Python 엔지니어링에 있어서 타협할 수 없는 모범 사례입니다.
코드 및 실행 출력
패키지 요구 사항을 생성, 활성화 및 출력하는 명령을 보여주는 모형입니다.
# This script prints the commands used to configure a virtual environment
commands = [
"python -m venv my_env # Create environment",
"source my_env/bin/activate # Activate environment (Mac/Linux)",
"pip install requests # Install isolated package",
"pip freeze > requirements.txt # Export dependency catalog"
]
print("--- Virtual Environment Lifecycle ---")
for index, cmd in enumerate(commands, 1):
print(f"Step {index}: {cmd}")--- Virtual Environment Lifecycle ---
Step 1: python -m venv my_env # Create environment
Step 2: source my_env/bin/activate # Activate environment (Mac/Linux)
Step 3: pip install requests # Install isolated package
Step 4: pip freeze > requirements.txt # Export dependency catalog단계별 구현
- 종속성 중복을 방지하기 위해 작업공간 프로젝트 격리
- Docker 컨테이너에 대한 예측 가능한 환경 구성
- 요구사항.txt 목록과 함께 재현 가능한 코드베이스 배송
자주 묻는 질문
Python 프로젝트에서 어떤 폴더를 gitignore해야 합니까?
항상 가상 환경 디렉터리(보통 'venv/' 또는 '.venv/')를 .gitignore 파일에 추가해야 합니다. 외부 라이브러리 종속성을 git으로 확인하지 마세요.
가상 환경을 비활성화하려면 어떻게 해야 합니까?
터미널 창에 'deactivate' 명령을 입력하기만 하면 쉘이 전역 Python 환경으로 돌아갑니다.
관련 주제
권장 Python 리소스
관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.
Python 가상 환경을 생성하고 활성화하는 방법
내장된 venv 모듈을 사용하여 Python 가상 환경을 생성, 활성화 및 관리하는 방법을 알아보세요. 프로젝트 종속성을 격리되고 깔끔하게 유지하세요.
Python 문자열 메서드 치트 시트
Python 문자열 조작에 대한 완전한 참조 가이드입니다. 문자열 속성의 서식 지정, 검색, 분할, 바꾸기 및 확인을 마스터합니다.
Python 대 JavaScript: 어떤 프로그래밍 언어가 가장 좋나요?
Python과 JavaScript를 포괄적으로 비교합니다. 구문 차이점, 성능, 사용 사례(백엔드와 프런트엔드) 및 코딩 예제를 살펴보세요.