문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| python:venv [2025/04/15 03:38] – [venv의 단점] taekgu | python:venv [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| + | ====== venv ====== | ||
| + | ===== venv란? ===== | ||
| + | venv는 Python의 표준 라이브러리 중 하나로, 별도의 패키지나 모듈 환경을 제공하는 가상 환경을 만들기 위해 사용할 수 있다. 즉, 프로젝트마다 다른 버전의 패키지를 사용하고 싶을 때, 이를 격리된 환경에서 관리할 수 있게 도와준다. | ||
| + | |||
| + | ==== venv의 장점 ==== | ||
| + | |||
| + | * 격리된 환경: 다양한 프로젝트에서 서로 다른 패키지나 Python 버전의 충돌 없이 작업할 수 있다. | ||
| + | * 버전 관리: 프로젝트별로 필요한 패키지와 그 버전을 쉽게 관리할 수 있다. | ||
| + | * 의존성 문제 해결: 각 프로젝트의 의존성을 명확하게 알 수 있으므로 배포나 협업 시 문제를 최소화 할 수 있다. | ||
| + | |||
| + | ==== venv의 단점 ==== | ||
| + | |||
| + | * 추가적인 공간: 각 가상 환경마다 패키지를 복제하기 때문에 디스크 공간이 추가로 필요하다. | ||
| + | * 관리: 여러 가상 환경을 사용하면 관리가 복잡해질 수 있다. | ||
| + | ==== venv 사용 방법 ==== | ||
| + | |||
| + | * 가상 환경 생성 | ||
| + | * Windows: python -m venv [가상환경명] | ||
| + | * Linux/Mac: python3 -m venv [가상환경명] | ||
| + | * 생성할때 python3.12-venv설치되었는지 확인필요함. 필요하면 **python3.12-venv**설치 | ||
| + | * 가상 환경 활성화 | ||
| + | * Windows: [가상환경명]\Scripts\activate | ||
| + | * Linux/Mac: source [가상환경명]/ | ||
| + | * 가상 환경 비활성화 | ||
| + | * 모든 운영체제에서: | ||
| + | * 패키지 설치 | ||
| + | * 활성화된 가상 환경에서, | ||
| + | * requirements.txt를 활용한 패키지 설치 | ||
| + | * requirements.txt 파일 내의 패키지를 한번에 모두 설치할 때는, | ||
| + | * pip install -r requirements.txt 명령어를 사용하여 패키지를 설치한다. | ||
| + | * 가상 환경 내 패키지 리스트 확인 및 requirements.txt 만들기 | ||
| + | * 가상환경 내 패키지 리스트 확인: pip freeze | ||
| + | * 가상환경 내 패키지를 requirements.txt 만들기 | ||
| + | * pip freeze > requirements.txt | ||
| + | * 가상환경 삭제하기 | ||
| + | * 가상 환경은 결국 폴더 형태로 저장되기 때문에, 해당 폴더를 삭제하면 가상 환경도 함께 삭제된다. | ||
| + | |||
| + | ===== 활용 예시 ===== | ||
| + | |||
| + | ==== 가상 환경 생성 및 활성화 ==== | ||
| + | <code bash> | ||
| + | # Windows | ||
| + | python -m venv myenv | ||
| + | myenv\Scripts\activate | ||
| + | |||
| + | # Linux/ | ||
| + | python3 -m venv myenv | ||
| + | source myenv/ | ||
| + | </ | ||
| + | ==== 패키지 설치 및 확인 ==== | ||
| + | <code bash> | ||
| + | pip install requests | ||
| + | pip freeze | ||
| + | </ | ||
| + | ==== 가상 환경 종료 ==== | ||
| + | <code bash> | ||
| + | deactivate | ||
| + | </ | ||
| + | ==== 추가 Tip ==== | ||
| + | |||
| + | ==== PowerShell에서 가상 환경 활성화 안될 때 활성화 시키기 ==== | ||
| + | |||
| + | <code bash> | ||
| + | # Windows | ||
| + | myenv\Scripts\activate.ps1 | ||
| + | 보안 오류로 가상 환경 활성화가 안될 때 | ||
| + | + .\Scripts\Activate.ps1 | ||
| + | + ~~~~~~~~~~~~~~~~~~~~~~ | ||
| + | + CategoryInfo | ||
| + | + FullyQualifiedErrorId : UnauthorizedAccess | ||
| + | 위와 같은 문구가 뜨면서 가상환경 진입이 안될 때는 윈도우 실행정책이 막혀 있는 경우이다. | ||
| + | |||
| + | Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine | ||
| + | cmd창에 위와 같이 입력하여 정책을 변경하면 가상환경이 활성화 되는 것을 확인 할 수 있다. | ||
| + | </ | ||
| + | ==== 최신 트렌드와 AI 관점 ==== | ||
| + | |||
| + | * Python 3.14 대응: 최신 버전의 파이썬에서도 venv 활용법은 크게 달라지지 않았지만, | ||
| + | * AI 프로젝트에서의 필요성: 머신러닝/ | ||