본문 바로가기

Machine Learning/파이썬 Python

파이썬 가상환경 차이 - virtualenv / pyenv / venv / pipenv / conda -miniconda, anaconda

파이썬 가상환경 차이

Anaconda 는 "가장 널리 사용되는 데이터 과학, 기계 학습 및 AI 프레임워크를 포함하여 1500개 이상의 패키지를 Anaconda 저장소에서 사용할 수 있습니다. 이는 conda-forge 및 bioconda 를 포함한 채널링에서 Anaconda 클라우드에서 사용할 수 있는 수천 개의 추가 패키지와 함께, conda를 사용하여 설치할 수 있습니다. 이 많은 패키지 컬렉션에도 불구하고 PyPI에서 사용할 수 있는 150,000개의 패키지에 비해 여전히 작습니다. 반면에 PyPI의 모든 패키지를 바퀴로 사용할 수 있는 것은 아닙니다. 이는 일반적으로 C/C++/Fortran 코드가 필요한 데이터 과학 라이브러리에 특히 문제가 됩니다. conda 환경에서 pip를 사용하여 PyPI 패키지를 설치하는 것이 가능하지만 pip 패키지 자체에도 모든 하위 종속성이 필요하고 골치 아픈 문제를 일으킬 수 있으므로 권장하지 않습니다 . 일반적으로 PyPI와 비교하여 Anaconda 기본 채널에서 사용 가능한 패키지 사이에는 지연이 있습니다. 예를 들어 팬더의 지연은 몇 주인 것 같습니다.

 

virtualenv - 파이썬2에서 virtualenv로 가상환경을 생성할 수 있었는데, 파이썬3이 탄생하고 2에서 넘어온 개발자들이 3에서도 virtualenv를 사용. 정작 파이썬3에서는 pyenv를 사용하도록 권장했었음. 파이썬2는 더이상 쓰지 않고 파이썬3.6부터 pyvenv도 폐지하고 이제 파이썬3에 venv만 남음. 

 

pyenv - 파이썬의 버전을 자유롭게 변경할 수 있다.

brew update

brew install pyenv

pyenv install —list  :다운받을 수 있는 파이썬 목록 확인

pyenv install <파이썬 버전>

pyenv versions

pyenv uninstall <버전 이름>

pyenv global <파이썬 버전>  :local로 쓸 기본 파이썬 버전 설정

 

venv - 파이썬 3.6이상애서 기본 제공되므로 별도로 설치할 필요 없다. 가상환경이라는 개념이지만 실제로는 디렉터리 및 파일 복사이다. 가상환경 생성 명령어를 수행하기 전에 가상디렉토리를 생성할 경로로 이동한 후 명령어를 수행한다.

$ python -m venv 디렉토리명(가상환경명)   - 파이썬을 처음 설치했을 때와 동일하게 환경이 만들어짐

전역에서 사용하던 패키지들을 가상환경에서 사용하고 싶으면 아래 옵션을 추가

$ python -m venv 가상환경명 —system-site-packages

가상환경 활성화: $ activate

가상환경 활성화 후 파이썬의 경로를 $where python으로 확인했을 때 첫번째 보이는 경로가 가상환경의 파이썬 경로이다. 이 경로의 파이썬으로 가상환경의 스크립트가 동작되어야 한다.

 

pipenv

 

 

 

 

 

conda - miniconda(최소한의 패키지만 설치), anaconda(720개 이상 주요 패키지를 한꺼번에 설치해주기 때문에 라이브러리 용량이 크고 무겁다)

conda install -c conda-forge를 사용하라고 하셨다. 자동으로 해당 환경에 이미 설치되어 있는 패키지들과의 호환성을 체크해주고 하여튼 아주 강력한 친구

conda는 Python, R, Ruby, Lua, Scalca, Java, Javascript, C/C++, FORTRAN 등 많은 언어들의 의존성, 패키지, 환경을 관리해준다

 

 

파이썬 위치 확인

where python

python3 실행 후

>>> import os

>>> import sys

>>> sys.executable

‘/usr/bin/python’

>>> os.path.dirname(sys.executable)

‘/usr/bin’

 

/usr/bin에서 ls -al | grep python