2023년 6월 업데이트

 

안녕하세요. SQLER의 코난 김대우입니다. 

이번 강좌에서는, Python 머신러닝 강좌 - 2. Anaconda와 Conda 구성을 진행토록 하겠습니다.

 

SQLER에서 진행되는 전체 Python / 머신러닝 강좌 목록

 

코드를 실행하기 위해서는, vscode에서 새로운 파일을 만들고 실행하시면 됩니다.

예를 들어, 2_conda.ipynb를 생성하고 vscode에서 실행하면, Jupyter notebook이 실행됩니다.(vscode에서 실행도 가능하며, 웹브라우저에서도 실행 가능합니다.)

 

상세한 환경 구성이 필요하시다면, 개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 문서를 참조해 WSL, vscode, conda, jupyter notebook 설정을 모두 먼저 완료하시길 권장해 드립니다.

 

 

 

TL;DR

Anaconda는 머신러닝과 데이터 과학을 위한 Python과 R의 배포판으로, 1500개 이상의 패키지와 그래픽/명령 줄 인터페이스를 제공합니다. Conda는 오픈 소스 패키지 관리 및 환경 관리 시스템으로, Python 개발 환경을 관리하고 외부 라이브러리를 설치하는 데 사용됩니다. 주요 conda 명령어로는 환경 생성, 환경 리스트, 활성화, 삭제가 있습니다. 
 

 

Python 머신러닝 강좌 - 2. Anaconda와 Conda 구성

이미 지난 SQLER의 강좌들을 따라오셨다면, 충분히 Conda에 대해서는 이해하고 계실 거에요. 

개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 문서와 개발자 커뮤니티 SQLER.com - Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성 문서에서 소개해 드린 것처럼, Python에서 독립된 개발 환경을 생성할 수 있습니다.

 

몇 번 SQLER의 관련 강좌 자료를 보셨다면, 계속 Conda와 Anaconda가 함께 등장하고, 좀 더 상세한 Conda 사용방법 등이 궁금하실 거에요. 이번 강좌에서 그런 궁금하신 부분을 풀어 보도록 하겠습니다.

 

Anaconda란 무엇인가?

Anaconda는 머신러닝과 Data Science를 위한 Python과 R의 오픈 소스 배포판입니다. 이 배포판에는 1500 개 이상의 패키지, Anaconda Navigator라는 그래픽 인터페이스, Anaconda prompt라는 명령 줄 인터페이스 및 Conda 도구가 포함됩니다.

 

네, Conda가 포함된 여러 패키지의 집합이라고 보시면 됩니다. 그런데 왜 SQLER에서는 안 다루냐고요?

음... Python은 필요할 때 패키지를 설치할 수 있도록 하는 패키지 관리자(pip/conda등)가 기본 제공됩니다.

클라우드 시대에, 굳이, 불필요한 수많은 패키지를(계속 업데이트되는) 가지고 있을 필요가 없으며, 필요시 설치하거나 업데이트하면 되기 때문입니다. 아울러, 개발자의 입장에서 자신의 코드에서 필요한 패키지만 필요할 때 설치/사용할 수 있어서 좀 더 솔루션을 꼭 필요한 패키지들만 유지할 수 있는 것도 장점이에요. 저는 강좌에서 진행한 대로, conda만 구성해 사용할 것을 권장해 드립니다.

 

Conda는 무엇인가?

Python 코드는 종종 패키지에 저장된 외부 라이브러리에 의존적입니다. Conda는 오픈 소스 패키지 관리 시스템 및 환경 관리 시스템으로, Python 개발 환경을 관리하고 Jupyter 노트북 용 패키지를 설치하는 데에도 많은 도움이 됩니다.

 

Conda와 pip의 차이점

Conda 공식 사이트에서 표현하는 pip와 같은 package manager와의 차이점은,

The main problem is that they are focused around Python, neglecting non-Python library dependencies, such as HDF5, MKL, LLVM, etc., which do not have a setup.py in their source code and also do not install files into Python’s site-packages directory.


Python Packages and Environments with conda | Continuum (archive.org)

기존의 pip와 같은 패키지 관리자는 이렇게 python dependency만 관리 가능하지만, conda는 이를 넘어 추가적으로 필요한 여러 non-Python 패키지들에 대한 관리도 함께 제공합니다. 몇몇 deep learning 패키지를 사용하다 보면, conda dependency만 제공하는 경우가 있는데, 이런 경우라고 보시면 됩니다.

 

중요한 건,

우리 개발자들이 Python으로 코드를 검토하거나 개발할 때 "ModuleNotFoundError: No module named in Python
" 오류를 만나면, 검색해 보시면 됩니다. pip로 대부분 설치 가능하고, 안 되는 것은 conda나 Ubuntu에서 apt 등을 이용해 해결 가능합니다. SQLER의 머신러닝 문의 게시판에도 문의하시면 잘 알려 드릴게요.

 

conda 명령들

여러 conda 명령들이 있지만, 아래 4~5개 정도가 전부입니다. 

conda 환경(environment) 생성

conda 독립 환경을 생성하는 명령

# conda 환경 생성 - conda create
# conda create -n Python환경이름 python=버전
conda create -n sqler_ml_lec python=3.11

# 이전 강좌에서 이미 sqler_ml_lec을 생성했다면 중복 생성 오류가 발생합니다.

 

conda 환경 리스트 - conda env list

# 계정에 생성된 conda 환경 목록 조회
conda env list

 

conda 환경 업그레이드

conda를 최신버전으로 셀프 업그레이드 할 때 사용

conda update conda

 

 

conda 환경 활성화 - conda activate

설치된 conda 환경을 activate 해서 독립된 python 개발 환경을 활성화

# conda activate conda환경이름
conda activate sqler_ml_lec

 

 

conda 환경 비활성화 - conda deactivate

conda deactivate

 

 

conda 환경 삭제

설치된 모든 Python 패키지를 삭제하고 환경도 삭제

# conda env remove -n conda환경이름
conda env remove -n sqler_ml_lec

# 강좌에서 계속 사용되니 아직 삭제는 하지 마세요.

 

이렇게 처리됩니다.

 

이어지는 강좌는 모두 sqler_ml_lec conda 환경에서 실행되니 항상 activate 시키시고, 현재 개발 환경이 해당 conda 환경에서 실행 중인지 체크하세요.

 

conda 명령어 cheat sheet

더 상세한 conda 명령을 Conda cheat sheet - PDF문서 링크에서 보실 수 있습니다.

 

conda_명령_리스트.jpg

 

파이썬 강좌 책 구매

강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다. 

 

책구매 링크: 챗GPT와 함께하는 파이썬 & 머신러닝 코딩 마스터 

파이썬-책구매링크.png

 

참고문서

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 13573
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 8389
14 Python 머신러닝 강좌 - 5. Pandas DataFrame에 질의(Query) 코난(김대우) 2021.01.07 245
13 Python 머신러닝 강좌 - 4. Pandas DataFrame file 코난(김대우) 2021.01.07 198
12 Python 머신러닝 강좌 - 3. Pandas 소개 file 코난(김대우) 2021.01.07 284
» Python 머신러닝 강좌 - 2. Anaconda와 Conda 구성 file 코난(김대우) 2021.01.06 293
10 Jupyter notebook 단축키 등의 cheat sheet file 코난(김대우) 2021.01.06 310
9 Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성 file 코난(김대우) 2021.01.06 812
8 2021년 머신러닝과 인공지능(AI) 트렌드 - MLaaS (서비스로의 머신러닝) file 코난(김대우) 2020.12.29 372
7 머신러닝을 시작하는 개발자를 위한 - (4) 2021년의 ML Trend - MLaaS와 MLOps(Machine Learning + DevOps) 코난(김대우) 2020.12.28 382
6 머신러닝을 시작하는 개발자를 위한 - (3) 우리 개발자가 머신러닝을 해야 하는 이유는? 코난(김대우) 2020.12.28 225
5 머신러닝을 시작하는 개발자를 위한 - (2) 머신러닝 서비스/프레임워크/툴킷 분류 및 전체 개발 흐름 코난(김대우) 2020.12.28 373
4 머신러닝을 시작하는 개발자를 위한 - (1) 머신러닝 용어정리, 분류부터 MLOps까지 file 코난(김대우) 2020.12.28 620
3 Deep Learning 개발 중 현재 GPU를 점유하는 pid 및 GPU 사용량 확인하는 방법 file 코난(김대우) 2020.12.26 264
2 GPU 머신에서 Machine Learning을 수행할때 Deep Learning 툴킷 & 패키지들이 GPU를 이용하는지 체크하는 python 코드 코난(김대우) 2020.12.21 213
1 머신러닝 새로운 글 코난(김대우) 2020.12.18 252





XE Login