파이썬은 파이썬 버전 별로 다수의 서브 버전이 존재하며, 엄청난 수의 패키지를 만들고 공유하고있다. 또 이런 패키지들은 개별적인 버전들을 갖고 있다.
만약 컴퓨터 한대에서 여러개의 프로젝트를 만들어서 프로그램을 돌릴경우, 파이썬 애플리케이션의 런타임 버전과 라이브러리 충돌이 일어나면 문제가 발생할 것이다.
이 문제가 발생하는 이유는 파이썬 버전과 라이브러리 패키지 등이 전역적으로 설치되어서 사용되기 때문이다.
이를 해결하기 위하여 파이썬은 각각 애플리케이션 별로 독립적인 환경을 만들어줘야한다.
파이썬 가상 환경을 구성하기 위해서는 여러가지 툴이 필요하다.
1. virtualenv : python2 부터 사용하던 가상환경 라이브러리
2. venv : python 3.3 이후부터 기본 모듈
3. pyenv : Python Interpretor Version Manager
4. conda : Anaconda Python 설치했을 때 사용할 수 있다.
5. etc : virtualenvwrapper, buildout ...
먼저 [1.virtualenv]와 [2.venv]로 가상환경을 구성하는 법에 대해서 알아보았다.
✔ 1. virtualenv로 가상환경 구성하기
1, 설치
원래 python의 모듈 실행은 python3 -m pip 이렇게 해야하는데, 스크립트 제공해줘서 pip3 or pip로 사용할 수 있다.
상위로 위치를 옮기기 : # cd
virtualenv 설치하기 : # pip3 install virtualenv
2, 프로젝트 생성
# cd dowork/ - 나의 project들을 관리 디렉토리
# mkdir python-projects - python project를 관리하는 디렉토리 생성하기
# cd python-projects - 디렉토리로 들어가기
# mkdir loganalysis - loganalysis라는 이름의 python project 생성하기
3, 가상환경 생성
# cd loganalysis - 프로젝트로 들어가기
# virtualenv venv - 가상환경 만들기
: 전역에 있는 파이썬을(/cafe24/python3.7/) 우리 프로젝트에 venv라는 디렉토리 밑으로 복사한다.
4, 가상환경 구동
# source venv/bin/activate
5, 가상환경 확인
(venv) # python --version
가상환경이 실행되면 제일 앞에 (가상환경이름) 이 붙게된다.
6, 가상환경 나가기 : # deactivate
가상환경일 경우 python3.7.3. 버전을 사용하고,
가상환경을 나오면 전역으로 사용하는 python2.6.6을 사용하게 된다.