티스토리 뷰

Anaconda


 - Anaconda를 사용하면 Data Science 작업에 자주 사용하는 패키지를 간단하게 설치할 수 있다. 

 - 또한 여러 프로젝트에서 작업 할 때마다 그에만 적용 되는 가상 환경을 만들 수 있다. 

 - Anaconda를 사용하면 work-flow를 단순화하고, 패키지의 복잡성 및 Python간의 잦은 버전 충돌 등의 많은 문제를 해결할 수 있다.


 - Anaconda는 conda, Python 및 150 개가 넘는 scientific packages와 그 하위패키지가 함께 제공되는 소프트웨어다. 

 - conda는 패키지 및 environment manager다. 

 - Anaconda는 Python에서 가장 일반적인 data science package가 포함되어 있으므로 용량이 큰 편이다. 

 - 모든 패키지가 필요하지 않거나 저장 공간을 절약해야하는 경우 Miniconda를 선택하는 대안이 있다. 

 - Miniconda는 conda와 Python 만 포함하는 작은 배포판인데, 여전히 다른 추가 패키지들을 설치 가능하지만 

 - 최초에 같이 설치되지만 않을 뿐이다.


 - Anaconda는 수많은 Data Science Package를 제공

 - conda를 사용하여 패키지와 환경을 관리하면, 사용할 다양한 라이브러리를 다루는 문제를 줄일 수 있다.






Managing Packages


# conda로 numpy를 설치하는 예


- Package managers는 컴퓨터에 라이브러리 및 기타 소프트웨어를 설치하는 데 사용됨. 

 - pip는 Python 라이브러리의 기본 패키지 관리자입니다. 

 - Conda는 pip와 비슷하지만 pip가 일반적인 용도로 사용된다면, conda는 data science에 초점을 맞추고 있다. 

 - 그러나 conda는 pip와 같은 Python만의 것이 아니라, non-Python 패키지를 설치할 수도 있다. 

 - conda는 모든 소프트웨어 스택의 package manager 이기 때문. 

 - 다시말해, 모든 파이썬 라이브러리가 anaconda 및 conda에서 제공되는 것은 아니다. 

 - 따라서 필요한 패키지를 설치하기 위해 conda와 pip를 함께 사용할 수 있어야 함.


 - Conda는 미리 컴파일 된 패키지를 설치한다. 

 - 예를 들어 Anaconda 배포판에는 Numpy, Scipy 및 Scikit-learn이 MKL 라이브러리와 함께 컴파일 되어 제공되므로 

 - 다양한 수학 연산을 가속화한다. 

 - 패키지는 보통 새 릴리스보다 뒤쳐지지만, 안정적인 경향이있다.






Environments


# conda로 environment 생성하는 예


 - Conda는 package manager 일 뿐 아니라 가상 환경 manager 이기도함. 

 - virtualenv 및 pyenv와 유사한 역할을 한다고 보면 된다.


 - environment를 사용하면 다른 프로젝트에 사용중인 패키지를 분리할 수 있다. 

 - 어떤 특정 라이브러리의 다른 버전의 코드로 작업하게 되는 경우가 있다. 

 - 예를 들어, Numpy에서 새로운 기능을 사용하는 코드나 제거 된 이전 기능을 사용해야 할 경우 등

 - 한 번에 두 가지 버전의 Numpy를 설치하는 것은 불가능하다. 

 - 대신 Numpy의 각 버전에 대한 환경을 만들어 프로젝트의 적절한 environment에서 작업해야한다.


 - 이러한 충돌은 Python 2 및 Python 3를 다룰 때도 발생한다. 

 - Python 3에서 실행되지 않는 이전 코드와 Python 2에서 실행되지 않는 새 코드로 작업을 해야 할 경우

 - 두 버전을 모두 설치하면 문제가 발생할 여지가 매우 크다.

 - 따라서 각각 별도의 환경을 갖는 것이 좋다.


 - environment의 패키지 목록을 파일로 내보낸 다음, 코드에 해당 파일을 포함시킬 수도 있다. 

 - 이렇게하면 다른 사람들이 코드의 모든 종속성(dependencies)을 쉽게 load 할 수 있다. 

 - pip로는 #> pip freeze > requirements.txt 로 유사한 역할을 할 수 있다.




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함