Virtualenv란?
Virtualenv
는 글로벌 Python영역과 별개로 독립된 가상환경을 제공한다. 사용자는 이를 사용하여 프로젝트 별 Python의 버전, 사용되는 라이브러리의 버전을 특정할 수 있다. 물론 같은 프로젝트에서도 여러 가상환경을 만들어 버전관리할 수 있다.
Virtualenv VS venv
Python3.3버전 부터 Virtualenv
의 일부 기능을 venv
이란 모듈로서 스탠다드 라이브러리로 제공한다.
몇가지 차이점이 있는데 중요한 부분만 살펴보자면, venv
는 다음의 단점을 갖는다.
- pip를 통해 업그레이드를 할 수 없다.
- 더 느리다. ( 정확히 어떤 작용에서 느린건지는 모르겠다. )
- 가상환경과 관련된 프로그래밍 API제공이 적다.
- .gitignore 설정이 제공되지 않는다. ( venv로 가상환경 설정 시 gitignore를 추가해줘야 하는 번거러움이 있다. )
1.Install Virtualenv
실행환경 - Windows
, Git bash
$ python -m pip install --upgrade pip
$ python -m pip install virtualenv
$ which virtualenv
/c/Users/user/AppData/Local/Programs/Python/Python310/Scripts/virtualenv
2.가상환경 생성
Python프로젝트 위치로 이동, 가상환경을 만든다.
$virtualenv env
p
옵션을 사용하여 파이선 버전을 특정할 수 있다.
$ virtualenv -p /path/to/python-3.10.1/bin/python3 venv
env
명칭은 관례에 따라 지은것일뿐, 사용자가 원하는데로 가상환경이름을 설정한다.- 실행 후 해당 가상환경의 이름으로 디렉토리가 생성되고 하위에 기본라이브러리, Script등이 생성된다.
3.가상환경 활성화
활성화
를 위해 프로젝트 디렉토리/가상환경/Scripts에 위치한 activate
실행파일을 실행한다.
$ source env/Scripts/activate
(env)
활성화 후 pip list
커맨드 명령을 실행하면 최소 도구만 설치되어 있는 것을 확인할 수 있다.
$ pip list
Package Version
---------- -------
pip 22.1.2
setuptools 62.6.0
wheel 0.37.1
(env)
- Git bash에 위와같이 가상환경(env)이 활성화 된 것을 확인할 수 있다.
4.가상환경 requirements.txt 생성
가상환경에서 기본으로 제공하는 pip툴을 사용하여 pip freeze
를 사용해 라이브러리 리스트를 백업, 복구할 수 있다.
$ pip freeze > requirements.txt
(env)
5.가상환경 비활성화
$ deactivate
6.가상환경 삭제
물리적으로 가상환경명으로 생성된 디렉토리를 삭제하면 된다.
$ rm -rf env
반응형
'python' 카테고리의 다른 글
python - 랜덤 범주형(Categorical) 데이터 생성하기 ( numpy ) (0) | 2022.12.07 |
---|---|
Python with mysql8 - 데이터베이스 연결 및 예제 (0) | 2022.09.03 |
python - 웹 크롤링 예제 ( Requests & BeautifulSoup ) (0) | 2022.04.22 |
Python - pip 라이브러리 의존관계 트리로 확인하기 (0) | 2022.02.07 |
Python - XML 생성/선택, 쉬운 예제( Element, SubElement, insert ) (0) | 2021.10.17 |