가상 환경은 파이썬 프로젝트마다 독립된 환경을 제공하여 패키지 충돌을 방지하고, 프로젝트에 맞는 패키지 버전을 관리할 수 있도록 도와줍니다. 가상 환경은 주로 파이썬 내장 venv 모듈을 사용해 생성하며, 각 프로젝트별로 필요에 맞게 패키지를 설치하고 관리할 수 있습니다.
1. 가상 환경 생성하기
파이썬에서는 venv 모듈을 사용하여 가상 환경을 쉽게 만들 수 있습니다.
🔹 기본 명령어
python -m venv 가상환경_이름
예제
# myenv라는 이름의 가상 환경을 생성
python -m venv myenv
설명: python -m venv myenv 명령어를 통해 myenv라는 이름의 가상 환경을 생성합니다. myenv 폴더에는 독립된 파이썬 실행 파일과 라이브러리를 설치할 수 있는 공간이 포함됩니다.
2. 가상 환경 활성화
가상 환경을 생성한 후에는 활성화하여 해당 환경에서 패키지를 설치하고 사용할 수 있습니다.
🔹 윈도우에서 활성화
myenv\\\\Scripts\\\\activate
🔹 Mac/Linux에서 활성화
source myenv/bin/activate
설명: 가상 환경을 활성화하면 커맨드라인에 (myenv)와 같이 가상 환경 이름이 표시됩니다. 이제 이 상태에서 설치하는 패키지는 모두 myenv 가상 환경 내에 설치됩니다.
3. 가상 환경 비활성화
가상 환경을 사용한 후에는 deactivate 명령어로 비활성화할 수 있습니다.
deactivate
설명: deactivate 명령어를 입력하면 가상 환경이 비활성화되고, 기본 파이썬 환경으로 돌아갑니다.
4. 가상 환경에서 패키지 설치 및 관리
가상 환경이 활성화된 상태에서는 pip 명령어를 통해 독립적으로 패키지를 설치하고 관리할 수 있습니다.
🔹 패키지 설치
pip install 패키지이름
예제
pip install requests
설명: requests 패키지는 myenv 가상 환경에만 설치되며, 다른 환경이나 시스템 전체에 영향을 미치지 않습니다.
🔹 설치된 패키지 목록 확인
pip list
설명: pip list 명령어를 통해 현재 가상 환경에 설치된 패키지 목록을 확인할 수 있습니다.
🔹 패키지 버전 관리 (requirements.txt)
가상 환경에 설치된 패키지를 requirements.txt 파일에 기록하여, 같은 환경을 다른 시스템에서 재현할 수 있습니다.
requirements.txt 생성
pip freeze > requirements.txt
설명: pip freeze 명령어는 현재 가상 환경에 설치된 모든 패키지와 버전을 requirements.txt 파일에 기록합니다
requirements.txt를 사용하여 동일한 환경 구성
pip install -r requirements.txt
설명: 다른 시스템에서 pip install -r requirements.txt 명령어를 실행하면 requirements.txt 파일에 명시된 패키지와 버전을 동일하게 설치할 수 있습니다.
5. 가상 환경 삭제
가상 환경을 더 이상 사용하지 않을 경우, 가상 환경 폴더 자체를 삭제하여 환경을 제거할 수 있습니다.
# 예제: myenv 폴더 삭제
rm -rf myenv # Linux/Mac
rd /s /q myenv # Windows
설명: myenv 폴더를 삭제하면 해당 가상 환경이 완전히 제거됩니다. 삭제 전에 반드시 환경이 비활성화되어 있어야 합니다.
가상 환경 요약
- 생성: python -m venv 가상환경_이름
- 활성화:
- 윈도우: myenv\\Scripts\\activate
- Mac/Linux: source myenv/bin/activate
- 비활성화: deactivate
- 패키지 설치: pip install 패키지이름
- 환경 저장: pip freeze > requirements.txt
- 환경 복원: pip install -r requirements.txt
- 삭제: 가상 환경 폴더 삭제 (rm -rf myenv 또는 rd /s /q myenv)
가상 환경을 사용하면 프로젝트마다 독립적인 파이썬 환경을 구성할 수 있어, 서로 다른 버전의 패키지를 동시에 관리할 수 있습니다. 이를 통해 프로젝트의 호환성을 유지하고, 배포 시 문제를 방지할 수 있습니다.
'파이썬 Python' 카테고리의 다른 글
파이썬 Python 문자열 다루기 (0) | 2024.11.21 |
---|---|
파이썬 Python 패키지 관리자 (pip) (0) | 2024.11.18 |
파이썬 Python 모듈과 라이브러리 사용하는 방법 (0) | 2024.11.18 |
파이썬 Python 파일 입출력 (File I/O) 사용하기 (1) | 2024.11.13 |
파이썬 리스트(List) 객체 사용 방법 (0) | 2024.11.12 |
파이썬(Python) 문자열 데이터 타입과 연산자 사용하기 (0) | 2024.11.10 |
Python 파이썬 for 문 사용하기 (1) | 2024.11.08 |
파이썬(Python) PyQt5 QVBoxLayout, QHBoxLayout 레이아웃 사용하기 (1) | 2024.10.26 |