python 가상환경(pyenv)

ro_ot ㅣ 2020. 6. 12. 19:01

파이썬은 다수의 서브 버전이 존재하고 엄청난 수의 패키지를 만들고 공유하고 있음. 이러한 패키지들 조차 여러 버전을 갖고 있음

 

개발 언어와 런타임 및 라이브러리가 전역적으로 설치되고 운영되기 때문에 파이썬 런타임 버전과 라이브러리 충돌 문제가 빈번하게 발생함.

 

위 문제를 해결하기 위해 애플리케이션별로 독립적인 환경을 사용할 수 있도록 환경을 가상화하는 방식을 통해서 해결 가능.

 

  1. pyenv(window에서는 x)
    • 파이썬 버전을 관리하는 .
    • 하나의 컴퓨터에 다양한 파이썬 버전을 설치하고 관리.
    • 프로젝트 홈페이지https://github.com/pyenv/pyenv
  2. pyenv-virtualenv
    • virtualenv 파이썬 환경을 격리하는 .
    • pyenv-virtualenv virtualenv pyenv 확장 플러그인.
    • 파이썬 버전과 라이브러리의 완전한 격리 환경을 제공.
  3. autoenv
    • autoenv 디렉터리 이동 실행되는 스크립트
    • pyenv-virtualenv 사용 불편한 수작업을 자동화.
    • 특정 프로젝트 폴더로 들어가면 .env파일 실행하여 가상환경 활성화.

 

* pip : package management system

- 저장소로부터 파이썬 패키지를 받아 설치하는 패키지 관리 도구

 

1. pyenv

- 하나의 컴퓨터에서 여러 파이썬 런타임 버전을 운영할 수 있다.

- 파이썬을 쉽게 바꿔서 쓸 수 있게 해주는 도구

- 파이썬 버전에 대한 의존성을 해결할 수 있다.

2. virtualenv

- 로컬에 다양한 파이썬 환경을 구축할 수 있도록 도와준다.

- 프로젝트별로 패키지들의 충돌을 막아주기 위한 가상환경 가상환경

- 각 프로그램별로 완전히 독립적인 가상의 환경을 만들어냄

- python, pip, PyPI부터 설치된 라이브러리들의 복사본을 만듦으로써, 독립적인 파이썬 환경을 만들어주는 도구

3. autoenv

- 스크립트를 이용해서 설정한 프로젝트 폴더로 들어가면 .env파일을 찾아 자동으로 개발 환경을 로딩해준다.

 

=======================

Conda vs Venv

venv

- 파이썬의 환경관리자

- 파이썬 개발만을 위한 격리 된 환경을 만듬

 

conda

- 패키지 및 환경관리자

- 이론적으로 모든 언어에 대해 격리 된 환경을 만듬

 

명령어 차이점

https://conda.io/projects/conda/en/latest/commands.html#conda-vs-pip-vs-virtualenv-commands

 

 

 

 

'python' 카테고리의 다른 글

OOP(객체 지향 프로그래밍)  (0) 2020.10.05
Python 변수  (0) 2020.09.29
웹 API  (0) 2020.02.21
crawling and scraping  (0) 2020.02.20
google API(지도활용)  (0) 2020.02.20