머신러닝 & AI 개발자 Tip & 강좌 게시판

Data Scientist와 개발자를 위한 머신러닝, AI 등 개발 Tip과 강좌 게시판 입니다. 일반적인 머신러닝은 물론 딥러닝(Tensorflow, Keras, PyTorch 등), 인공지능 관련 업무를 진행하면서 얻은 Tip이나 강좌, 새로운 소식을 적어 주시면 다른 개발자 분들에게 큰 도움이 됩니다.

안녕하세요. 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 설정을 모두 먼저 완료 하시길 권장해 드립니다.

 

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.9

 

conda 환경 리스트 - conda env list

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

 

conda 환경 업그레이드

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

conda update conda

 

 

conda 환경 활성화 - conda activate

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

conda activate conda환경이름

 

 

conda 환경 비활성화 - conda deactivate

conda deactivate

 

 

conda 환경 삭제

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

conda env remove -n conda환경이름

 

이렇게 처리됩니다.

 

conda 명령어 cheat sheet

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

 

conda_명령_리스트.jpg

 

참고문서

 

No. Subject Author Date Views
26 Form Recognizer로 문서에서 표 데이터 추출 file 코난(김대우) 2021.01.21 83
25 MLaaS - (1) 12가지의 머신러닝을 먼저 도입한 기업들의 고민 file 코난(김대우) 2021.01.15 222
24 Python 머신러닝 강좌 - 15. Matplotlib으로 데이터 시각화(visualization) file 코난(김대우) 2021.01.09 78
23 Python 머신러닝 강좌 - 14. NumPy와 Pandas 코난(김대우) 2021.01.09 71
22 Python 머신러닝 강좌 - 13. 모델의 정확도 평가(accuracy evaluating) 코난(김대우) 2021.01.09 50
21 Python 머신러닝 강좌 - 12. 머신러닝 모델 테스트 코난(김대우) 2021.01.09 49
20 Python 머신러닝 강좌 - 11. scikit-learn으로 선형회기(linear regression) 모델 머신러닝 트레이닝 수행 코난(김대우) 2021.01.08 58
19 Python 머신러닝 강좌 - 10. 머신러닝을 위해 scikit-learn으로 트레이닝 데이터와 테스트 데이터 분할 코난(김대우) 2021.01.08 30
18 Python 머신러닝 강좌 - 9. 중복데이터와 결측값(missing value) 처리 코난(김대우) 2021.01.08 23
17 Python 머신러닝 강좌 - 8. Pandas DataFrame 컬럼(column) 분할(split)과 삭제(remove) 코난(김대우) 2021.01.08 22
16 Python 머신러닝 강좌 - 7. Pandas DataFrame으로 CSV 파일 읽고 쓰기 코난(김대우) 2021.01.08 14
15 Python 머신러닝 강좌 - 6. CSV 파일과 주피터 노트북 file 코난(김대우) 2021.01.08 22
14 Python 머신러닝 강좌 - 5. Pandas DataFrame에 질의(Query) 코난(김대우) 2021.01.07 22
13 Python 머신러닝 강좌 - 4. Pandas DataFrame file 코난(김대우) 2021.01.07 23
12 Python 머신러닝 강좌 - 3. Pandas 소개 file 코난(김대우) 2021.01.07 36
» Python 머신러닝 강좌 - 2. Anaconda와 Conda 구성 file 코난(김대우) 2021.01.06 47
10 Jupyter notebook 단축키 등의 cheat sheet file 코난(김대우) 2021.01.06 36
9 Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성 file 코난(김대우) 2021.01.06 129
8 2021년 머신러닝과 인공지능(AI) 트렌드 - MLaaS (서비스로의 머신러닝) file 코난(김대우) 2020.12.29 149
7 머신러닝을 시작하는 개발자를 위한 - (4) 2021년의 ML Trend - MLaaS와 MLOps(Machine Learning + DevOps) 코난(김대우) 2020.12.28 96





XE Login