본문 바로가기
  • Survival Plan
개발 이야기/Python

[파이썬] Anaconda x Jupyter notebook 설치 및 설정 방법 - 가상환경으로 파이썬 개발환경 구성

by IT/머신러닝 엔지니어의 독서/경제/육아 공부 리치윈드 - windFlex 2020. 6. 4.

 

1. 아나콘다 (anaconda) 가상환경 생성 하기

 

아나콘다(Anaconda)를 설치 했다면, 이제 기본적인 파이썬 개발 환경이 구성되었을 것이다. 그러나, 파이썬은 그 용도와 프레임워크가 다양하다. 데이터분석, 머신러닝, 웹프레임워크, Window/Linux Application 개발, UI APP 개발, 심지어는 mobile App개발 환경도 있으며, 그 밖에 패키지 활용에 따라서 다른 용도로도 사용될 수 있다. 따라서, 버전별로 상이한 패키지가 다양한 환경에 설치될 수 있는데, Anaconda 메인 파이썬 환경에 이 들 모두가 설치되면 서로간의 충돌/의존성 문제/버전문제 들을 야기할 수 있다. 또한 더욱 중요한 점으로 패키지에 따라서 특정 버전에서만 구동되는 것을이 있으므로 버전을 맞추어 주어야한다. 

 

이러한 이유로 아나콘다의 베이스 커널을 사용하지 않고, 각 프로젝트/프레임워크 별로 가상환경을 구성하여 1개 PC/Desktop에 각각 다른 Python 개발환경을 구성한다. 본래 Python은 이러한 가상환경을 위해서 virtual Env.라는 패키지를 사용하는데, 아나콘다는 cli 명령어인 conda에 이러한 기능을 기본 탑재하고 있다. 

 

 

anaconda의 cli 명령어에서 가상환경 생성 명령어의 기본유형은 다음과 같다.

$ conda create --name <가상환경이름> python=<버전>    // 가상환경을 만든다

예를 들어 가상환경 이름을 "DataAnalytics", 파이썬 버전 3.7로 구성 할때 다음과 같이 생성할 수 있다. 

$ conda create --name dataAnalytics python=3.7    

가상환경 생성 후, 확인을 위해서 현재 생성되어 있는 가상환경을 나열해 본다.

$ conda info --envs  

다음은 필자의 출력 결과의 예이다. 

(python3.6)  ~/myEDA $ conda info --envs
# conda environments:
#
base                     /Users/a/anaconda3
eda001                   /Users/a/anaconda3/envs/eda001
python3.6             *  /Users/a/anaconda3/envs/python3.6
dataAnalytic             /Users/a/anaconda3/envs/dataAnalytics
tf3                      /Users/a/anaconda3/envs/tf3
untitled                 /Users/a/anaconda3/envs/untitled
상기 결과에서 현재 선택된 가상환경은 (*)로 표기 되어 있다. python3.6이라는 가상환경 이다. 
untilted는 pycharm을 테스트하면서 프로젝트 생성한 것인다. pycharm은 프로젝트 생성할 때마다 가상환경 1개를 생성하는 것으로 보인다. 또한 이들 가상환경들은 서로 공유가 되는 환경인 것을 알 수 있다. 

 

 

2. 아나콘다 가상환경 활성화

 

아나콘다 가상환경을 생성하고 나면, 사용할 가상환경을 지정/전환하여야 한다. 이 때 가상환경 사용에 source activate 명령을, 가상환경 사용중지를 source deactivate 명령을 사용한다. 

 

다음은 새롭게 생성한 가상환경 (dataAnalytics)를 활성화한다. 이전 단락에서 거론하였지만, 현재는 python3.6이라는 가상환경을 사용하고 있으며, 이것을 "dataAnalytics"라는 신규 가상환경으로 바꾸는 작업이다. 이것은 앞으로 Python 실행에 있어서 dataAnalytics라는 가상환경에 설치된 버전과 패키지만을 사용하겠다는 의미 이다. 

$ source activate dataAnalytics                   // 가상환경 활성화

 

가상환경 사용을 해제하기 위해서는 다음 명령 (conda deactivate) 을 실행한다. 

$ conda deactivate

or

$ source deactivate                  // 가상환경 비활성화

 

본래 가상환경 비활성화 명령은 "source deactivate" 이었으나,  deprecated 예정이다. 따라서, conda deactivate를 사용을 권고한다. 

이전 단락에서 필자가 설명한 것처럼, 불필요하게 생성된 가상환경도 있다. 이 경우, 아래와 같이 가상환경을 삭제해 주자. 가상환경 삭제 시 설치한 패키지 및 설정들이 모두 삭제되므로 유의하길 바란다.

$ conda remove --name untitled -- all        // 가상환경 삭제
삭제하는 가상환경명은 "untitled" 일 경우의 예이다.

 

 

3. Jupyter notebook 실행 

 

이제 생성환 환경에서 "Jupyter notebook"을 실행한다. 앞의 과정을 포함하여 명령을 표기하면 다음과 같다. 

$ conda create --name dataAnalytics python=3.7 
$ conda info --envs
$ source activate dataAnalytics 
$ jupyter notebook 

 

익숙한 Jupyter Notebook 화면을 볼 수 있다. 다음은 로컬서버에서 실행된 결과이다. 

jupyter notebook 실행 화면

이제 jupyter notebook을 실행 했을 뿐이다. 데이터 분석을 위한 어떠한 패키지도 설치하지 않았다. ^^

 

4. 아나콘다 가상환경에 패키지 설치

 

아나콘다 가상환경에 패키지를 설치하는 방법은 크게 2가지가 있다. 첫번째는 pip install 을 사용하는 방법, 두번째는 conda install 명령어를 사용하는 방법이다. 명령만 다를 뿐 큰차이는 없다. 굳이 차이를 살펴 보면, pip의 경우는 upgrade를 한번 해주는 것이 안정적이다. conda install 명령어의 경우, conda 가상환경 전반을 제어/통제할 수 있다. 그러나, 굳이 이 방법을 사용할 필요 없이, 실수 하지 않도록 각 가상환경을 활성화 후 설치를 진행하는 것이 일반적이다. 

 

1. pip install 사용 방법

신규 가상환경을 활성화 하고, pip를 업그레이드 한다. 그 다음 원하는 패키지를 설치한다. 

$ source activate dataAnalytics
$ pip install --upgrade pip
$ pip install numpy pandas
$ pip list

 

다음은 pip 를 업그레이드하는 과정이다.

$ pip install --upgrade pip
Collecting pip
  Downloading pip-20.1.1-py2.py3-none-any.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 514 kB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Uninstalling pip-20.0.2:
      Successfully uninstalled pip-20.0.2
Successfully installed pip-20.1.1


$ pip --version
pip 20.1.1 from /Users/auser/anaconda3/envs/untitled/lib/python3.7/site-packages/pip (python 3.7)

 

2. conda install 사용방법

$ source activate dataAnalytics
$ conda install numpy pandas
$ conda list
마지막 라인에 있는 "conda list"는 설치된 패키지 리스트를 확인한다.

 

또는, 설치해야할 가상환경을 명시적으로 지정할 수 있다. (--name <가상환경명>)

$ conda install --name dataAnalytics numpy pandas
$ conda list --name dataAnalytics
패키지 삭제는 "conda remove <패키지명>" 명령어를 사용한다. 상세 내용은 생략한다. 

 

이제 설치한 패키지를 사용하여 jupyter notebook에서 파이썬 스크립트를 작성할 수 있다. 

 


관련글

2020/05/09 - [개발 이야기] - 온라인 IDE - 개발 환경 구축 없어 어디서나 웹브라우저로 개발하기

2020/05/18 - [개발 이야기] - [클라우드 데이터 분석 플랫폼 비교-1] 구글 코랩 (Google Colab) vs. MS Azure Notebook

2020/05/18 - [개발 이야기] - [클라우드 데이터 분석 플랫폼 비교-2] 바인더(Binder)와 깃파드(Gitpod)

2020/05/09 - [개발 이야기] - 파이썬 문법 5분만에 읽히기 - 파이썬 기본 문법 요약/정리 8 가지

2020/04/30 - [개발 이야기] - 코딩시험 대비 - 웹 IDE(구름IDE)로 개발(Coding)환경을 구축해 보자.

2020/04/22 - [IT 이야기/IT 상식] - Python 환경 1분만에 구성하기 - 크롬 브라우저 플러그인

2020/03/10 - [개발 이야기/Python] - [Python] 파일 해쉬 (hash) 및 Strings 기능

2020/03/10 - [개발 이야기/Python] - [Python] 딕셔너리를 데이터 프레임으로 (Dict to DataFrame)

2020/03/10 - [IT 이야기] - [파이썬] 판다스 데이터프레임 X 엑셀 - Pandas X Excel

2020/03/10 - [개발 이야기] - RESTful API with Flask

2020/03/10 - [IT 이야기] - Python/Anaconda x Jupyter x VSCode 개발환경

2020/03/10 - [IT 이야기] - Python x Jupyter Notebook 사용하기

2020/03/10 - [개발 이야기] - Elasticsearch x Python - 엘리스틱 서치 연동

2020/03/09 - [개발 이야기/Python] - Python Numpy 추천 문서 및 유의점

2018/03/03 - [개발 이야기/Python] - 피보나치(Fibonacci) 수열을 구현하는 7가지 방법 - 파이썬(Python) 피보나치 구현 7선

2018/03/03 - [개발 이야기/Python] - [Python] Py2Exe - Python 스크립트를 Exe로 배포하자 !!

2018/03/03 - [개발 이야기/Python] - [파이썬-Python] Numpy는 왜 필요할까?

 

피보나치(Fibonacci) 수열을 구현하는 7가지 방법 - 파이썬(Python) 피보나치 구현 7선

본문 요약 - 피보나치 수열 - 피보나치 수열이란 무엇인가? - 피보나치 수열을 구현 (python)하는 방법 1) 일반 함수 구현 2) 재귀 함수 구현 3) 제네레이터 (Generator) 방식 4) 메모이제이션 (Memoizatioin) �

richwind.co.kr

 

[클라우드 데이터 분석 플랫폼 비교-2] 바인더(Binder)와 깃파드(Gitpod)

필자는 언제 어디서나 파이썬 노트북 또는 이에 준하는 데이터 분석 환경이 필요하여 클라우드 Python Notebook 플랫폼을 검토하고 있다. 관련하여 아래 포스팅에서 Google Colab과 Microsoft Azure Notebook의

richwind.co.kr

 

[클라우드 데이터 분석 플랫폼 비교-1] 구글 코랩 (Google Colab) vs. MS Azure Notebook

필자는 전통적인 이미지, 음성 외에 시스템 이벤트 로그 등 다양한 종류의 데이터 분석을 진행하고 있다. 이 때문에 초기 탐색적 분석을 진행하는 경우가 많다. 또한, 최근에는 업무환경이 3개 �

richwind.co.kr

 

온라인 IDE - 개발 환경 구축 없어 어디서나 웹브라우저로 개발하기

[ 온라인 IDE 사용의 배경 ] 개발에 필요한 건.............. 웹브라우저 하나 뿐 온라인 IDE (Integrated Development Environment) 혹은 온라인 웹에디터라고 불리는 개발환경의 사용이 증가하고 있다. 최근 코..

richwind.co.kr

 

댓글0