콘다 / 패키지 매니징 / 설치 자동화 /
Conda package manager
Conda 는 Anaconda 에서 만들었다. Anaconda 는 간략하게 이야기하면, python 이랑 여러 package 들을 묶어서 배포하는 배포판이다. 여기서 만든 package manager 가 Conda 이다. python 으로 만들어져 있다.
필자가 이해한 바를 간략하게 이야기하면, Conda 는 package manager 로 보면 된다. 일반적인 package manager 들이 하는 것처럼 package 를 다운받고 설치해준다. 그러면 다른 package manager 와 무엇이 다른가?
관련 글들은 아래에 있다.
- Pip vs Conda: an in-depth comparison of Python’s two packaging systems
- python - What is the difference between pip and conda? - Stack Overflow
- Python Packages and Environments with conda | Continuum
- Anaconda | Understanding Conda and Pip
pip VS Conda
기본적으로 python 에서 사용하는 pip 를 생각해 보자. 이 package manager 는 python package 를 설치할 때 쓰인다. 그래서 만약에 gcc compiler 를 설치하고 싶다면 pip 를 이용할 수 없다.
Conda 는 이런 것을 가능하게 해준다. 즉, 내가 하는 프로젝트에서 python 도 사용하고, R 도 사용하고 Ruby 도 사용한다고 하면, pip 로 설치하고, CRAN 을 써서 또 설치하고, gem 등을 이용해서 또 설치해야 한다. 물론 pytho, R, ruby 도 apt-get 등의 시스템 패키지 매니저를 이용해서 설치해야 한다. 이런 작업들이 귀찮고 번거롭다. 이런 것을 한번에 모아서 처리해 줄 수 있는 것이 Conda 이다.
Dockerfile VS Conda
그런데 여기서 다시 ’Docker 의 Dockfile 을 사용하면 간단할 것 같은데’라는 생각이 든다. Dockerfile 에 대비한 장점이 무엇이길래 Conda 를 쓸까?
그 장점은 OS 를 변경하게 되는 경우에 있다. OS를 변경하게 되면, 필요한 system package 를 설치하기 위한 command 를 다시 적어넣어야 한다. Conda 만 동작한다면 그런 번거로움을 없앨 수 있다.
miniconda
아래 글을 보면, conda 는 Anaconda 배포판, 또는 Miniconda 배포판에 묶여서 배포된다고 한다. miniconda 는 conda + python + 'conda 의 dependency package'들
로 구성된 녀석이다. 아래 경로에서 download 할 수 있다. 당연히 기본 python 만을 설치할 때보다 용량은 더 필요하다.
from Python Installation - Conda Install | Google Earth Engine | Google Developers
The Earth Engine Python API can be installed to a local machine via conda, a Python package and environment manager. Conda is bundled with Anaconda and Miniconda Python distributions. Anaconda is a data science programming platform that includes 1500+ packages, while Miniconda includes only conda and its dependencies.
댓글 없음:
댓글 쓰기