본문 바로가기

Architecture for Software/AI

[Python] 아나콘다(Anaconda)

 

아나콘다(Anaconda)란
ML이나 데이터 분석 등에 사용하는 여러가지 패키지가 기본적으로 포함되어있는 파이썬 무료 배포판
으로 Windows 에서 쉽게 Jupiter Notebook과 같은 파이썬 개발 환경을 구성할 수 있습니다.

 

https://www.anaconda.com/

 

Unleash AI Innovation and Value | Anaconda

Accelerate growth efficiently for everyone with the AI and data science experts.

www.anaconda.com

 

 

만약 Windows 환경에서 Python 개발을 한다면 pip 사용이 쉽지 않으므로 아나콘다 사용을 강력히 권장합니다.

위의 사이트에서 아나콘다 배포판을 다운로드 받아 설치하시기 바랍니다.

 

 

아나콘다(Anaconda)와 콘다(Conda) __________________________________________

conda 는 Continuum Analytics의 약자로 Continuum Analytics는 2012년 Anaconda 패포판을 개발한 회사입니다.

conda의 약자는 다음과 같습니다.

  • Continuum : 연속적인
  • Data : 데이터
  • Analytics : 분석

 

conda 의 핵심 기능은 Python 패키지 관리와 가상환경 관리 입니다. 이러한 conda의 기능을 GUI로 구현하고 다양한 Python 라이브러리와 개발 도구 등을 합쳐서 배포판을 만든 것이 Anaconda 입니다.

따라서 Python으로 개발할 때 Anaconda 를 이용하는 것은 Python의 패키지와 각 Python 버전와 패키지별로 개발 환경을 구성하는 가상환경을 관리하는 일이므로 필수적으로 필요합니다.

 

참고로 Python의 버전별로 각 패키지가 상이하므로 이를 관리하려면 가상환경 (Environments)이 필요하며 이러한 가상환경을 선택하여 필요한 작업을 할 수 있도록 구성해야 추후 필요한 환경을 쉽게 적용할 수 있어 Python 개발에 필수적인 도구라고 할 수 있습니다.

 

conda 에 대한 자세한 내용은 https://docs.anaconda.com/free/working-with-conda/ 에서 확인할 수 있습니다.

 

아나콘다 설치 시 제공되는 주요 파이썬 라이브러리

아나콘다를 설치하면 파이썬으로 개발하면서 가장 많이 사용되는 주요 라이브러리를 다음과 같이 제공합니다.

 

ML용 라이브러리

  • scikit-learn
  • TensorFlow
  • Keras
  • PyTorch
  • XGBoost

 

데이터 처리용 라이브러리

  • pandas
  • Numpy
  • Apache Airflow

 

NLP용 라이브러리

  • NLTK
  • Gensim
  • Transformers

 

아나콘다의 실행 __________________________________________________________

아나콘다를 설치하면 다음과 같은 프로그램이 제공됩니다.

 

 

아나콘다 네비게이터(Anaconda Navigator)

아나콘다 네비게이터는 아나콘다를 통하여 다양한 라이브러리 나 패키지 등을 관리할 수 있습니다.

더 중요한 기능은 나에게 맞는 환경(Environments)을 구성할 수 있다는 점입니다.

 

 

 

아나콘다 네비게이터의 환경(Environments)

아나콘다의 환경 구성을 통하여 원하는 Python 버전을 선택하고 원하는 패키지를 선택하여 각 Python 버전에 최적화된 개발 환경을 구성할 수 있습니다. pip 와 달리 GUI를 통하여 환경을 구성할 수 있어 쉽고 빠르게 환경 구성이 가능합니다.

 

이러한 환경 구성은 conda를 통하여 구성되며 conda 는 Python의 패키지 및 가상환경 관리를 위한 오픈소스 플랫폼입니다. 

 

 

아나콘다 네비게이터의 학습(Learning)

아나콘다 설치 후 Python이나 pandas, numpy에 대한 학습 자료를 멀리 찾지 말고 Learning에서 찾아서 바로 학습할 수 있습니다. 

다른 자료를 찾아보기 전에 먼저 이 자료부터 확인하길 강력히 권장합니다. 모든 IT 도서보다 더 좋습니다.

 

 

 

쥬피터 노트북(Jupyter Notebook) ____________________________________________

쥬피터 노트북은 Python 으로 ML 을 처리하기 위해서 필수적으로 필요한 웹 기반의 대화형 개발환경입니다.

아나콘다를 설치하면 자동으로 쥬피터 노트북을 제공합니다.

 

 

쥬피터 노트북(Jupyter Notebook)의 유래

Jupyter Notebook은 2014년 Fernando Perez와 Brian Granger에 의해 처음 개발되었습니다. 당시 IPython 프로젝트의 일환으로 개발되었으며, IPython Notebook이라는 이름으로 알려졌습니다.

 

IPython Notebook은 IPython 프롬프트에서 코드를 실행하고 결과를 그래픽적으로 표시하는 기능을 제공했습니다. 과학적 컴퓨팅 및 데이터 분석 분야에서 많은 사랑을 받았지만, IPython 프롬프트에 의존하는 구조는 사용자들에게 불편함을 야기하기도 했습니다.

2015년, IPython Notebook은 Project Jupyter라는 독립적인 프로젝트로 분리되었습니다. Project Jupyter는 IPython Notebook을 더욱 발전시키고 다양한 프로그래밍 언어를 지원하는 것을 목표로 합니다.

 

 

Jupyter Notebook이라는 이름은 Julia, Python, R이라는 세 가지 주요 프로그래밍 언어의 첫 글자를 합쳐 만들었습니다.

 

쥬피터 노트북은 ML등이 개발에 많이 사용되는데 그 이유는 다음과 같은 특성 때문입니다.

  • 대화형 환경: 코드를 한 줄씩 실행하고 결과를 확인하며 작업할 수 있습니다.
  • 다양한 언어 지원: Python, R, Julia 등 다양한 프로그래밍 언어를 사용할 수 있습니다.
  • 텍스트, 이미지, 그래픽 포함: 코드뿐 아니라 텍스트, 이미지, 그래픽 등을 포함하여 문서를 작성할 수 있습니다.
  • 간편한 공유: Jupyter Notebook 문서를 다른 사람들과 쉽게 공유할 수 있습니다.

 

쥬피터 프로젝트에서 더 자세한 내용을 확인할 수 있습니다.

 

Project Jupyter

The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media.

jupyter.org

 

 

쥬피터 노트북과 커널(Kernel)

쥬피터 노트북에서 커널(Kernel)이라 함은 개발 코드를 실행하는 실행 환경입니다.

아래 그림과 같이 Python 3 커널을 선택하면 Python 3 환경하에서 코드가 실행됩니다.

 

 

중요한 점은 사용자가 이 커널을 생성할 수 있으며, 이 커널을 통하여 내가 원하는 가상환경을 구성할 수 있습니다.

python -m ipykernel install --name "가상환경 이름" --display-name "커널 이름"

 

 

 

스파이더(Spyder) _________________________________________________________

스파이더(Spyder)는 Python으로 개발된 Python을 위한 IDE 입니다. 특히 데이터 분석에 특화되어 있습니다.

만약 Python 개발을 위한 특별한 개발 환경을 구축하지 않았다면 스파이더를 사용하는 것도 좋은 방법입니다.

 

 

스파이더 IDE에 대한 자세한 내용은  https://www.spyder-ide.org/ 에서 확인할 수 있습니다.

 

Home — Spyder IDE

Download Ready to give Spyder a try? Let's get started! Want to join the community of scientists, engineers and analysts all around the world using Spyder? Click the button below to download the suggested installer for your platform. We offer standalone in

www.spyder-ide.org

 

스파이더에서 IPython 이란

IPython은 Python 프로그래밍 언어를 위한 강력하고 유연한 인터랙티브 쉘(shell)입니다. 기본적인 Python 인터프리터보다 더 많은 기능을 제공하며, 과학 계산, 데이터 분석, 머신 러닝 등 다양한 분야에서 활용됩니다.

 

IPython의 주요 기능은 다음과 같습니다.

  • 상호 작용형 환경 제공: Python 코드를 한 줄씩 입력하고 실행 결과를 바로 확인할 수 있는 상호 작용형 환경을 제공합니다.
  • 자동 완성 및 코드 검사: 코드 작성 시 자동 완성 기능과 코드 검사 기능을 제공하여 편리하게 코딩할 수 있도록 도와줍니다.
  • 매직 명령어: 특정 기능을 수행하는 매직 명령어를 제공합니다.
  • 히스토리 관리: 입력했던 코드를 히스토리에 저장하여 다시 사용할 수 있도록 도와줍니다.
  • 다양한 확장 기능: 다양한 확장 기능을 사용하여 기능을 추가할 수 있습니다.

IPython에 대한 자세한 내용은  https://ipython.org/ 을 참고하세요.

 

Jupyter and the future of IPython — IPython

IPython provides a rich architecture for interactive computing with: A powerful interactive shell. A kernel for Jupyter. Support for interactive data visualization and use of GUI toolkits. Flexible, embeddable interpreters to load into your own projects. E

ipython.org

  

이에 따라 스파이더를 사용한다는 것인 IPython을 사용하는 것과 같습니다.

 

 

 

이상으로 파이썬 개발환경에 설정에서 중요한 역활을 하는 아나콘다에 대해서 살펴보았습니다.

'Architecture for Software > AI' 카테고리의 다른 글

[Lib] 사이킷런(scikit-learn)  (0) 2024.03.08