C.E/Python(DeepLearning)

주피터 노트북(jupyter notebook) 설치부터 사용법, 원격 설정 까지

숨[Breath] 2018. 5. 31. 14:00

+이 글은 우분투 (Ubuntu) 16.04 LTS / 파이썬 3.5 (Python 3.5) / 파이프라인 (pip) 이 설치된 이후 주피터 노트북이 설치되는 과정이 설명되어 있습니다.

앞선 설치가 되지 않은 분들은 설치 이후 따라와 주세요.

+Jupyter 7 관련 수정 23.11.06


 

 

하이바~

딥러닝 공부하면서 Python3만 커널에서 사용하려니.. 이럴려고 파이썬을 설치했나 자괴감이 들고 괴로워 주피터 노트북을 설치하게 되었다.

 

 

 

 

 


 

주피터 노트북 Jupyter Notebook 이란?

 

머신러닝과 데이터 사이언스에서 많이 이용되는 툴.

파이썬 코드를 라인 별로 실행하며 차트, 이미지 비디오 등을 쉽게 확인할 수 있도록 되어 있다.

복잡하고 다양한 공식들도 간결하게 보여줌으로 공학/대수학을 포기했던 사람들도 쉽게 확인 할 수 있도록 해준다.

 


 

 

이렇게 좋은 툴이 있는데 왜 사용을 하지 않겠니!!!

그리고, 나는 Ipython notebook 설치와 jupyter notebook을 함께 설치했다. 어자피 두 툴들은 엄청 많이 쓰이는 용도라서, 설치해두면 아마 같이 쓸 듯 ..?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

설치

 

Python2

$ sudo pip install notebook

$ jupyter notebook

 

 

Python3

$ sudo pip3 install notebook

$ jupyter notebook

 

 

여기서 아래 jupyter notebook은 '실행' 명령이다. 설치 명령 아니다.

 


 

설치는 어마어마하게 쉽다. 저 두 줄이 끝이다. 다만, 설치 시도를 하였을 때

 

You are using pip version 8.1.1, however version 10.0.0 is available.

You should consider upgrading via the 'pip install --upgrade pip' command

 

이러한 문장이 보인다면 아래와 같이 파이프라인 (pip)을 업데이트 한 이후 시도해야 한다.

 

 

 

 

 

 

 


PIP 업데이트 이후 설치

 

Python2

$ sudo -H pip install --upgrade pip
$ sudo pip install notebook
$ jupyter notebook
 또는 $ sudo -H pip install --upgrade pip
$ sudo -H pip install notebook
$ jupyter notebook

 

Python3

$ sudo -H pip3 install --upgrade pip
$ sudo pip3 install notebook
$ jupyter notebook
 또는 $ sudo -H pip3 install --upgrade pip
$ sudo -H pip3 install notebook
$ jupyter notebook

 




 

여기까지 따라왔다면 짝짝짝! 정글처럼 험난한 리눅스 환경에서 주피터 노트북 까지 설치를 완료 한 것이다.

자기 자신에게 칭찬해주어야 한다. 두 줄 적었지만..

 

칭찬은 고래도 춤추게 한다고 한다. 현대인들은 자신에게 칭찬을 잘 하지 않아 우울증이 걸릴 확률이 높다고 카더라.

자신에게 칭찬을 듬뿍 듬뿍 주자.

 

 

 

주피터 노트북을 실행시키게 되면, 이런 창이 뜬다. 여기서 부터는 사용 부분이다.

 

 

 

 

 

 

 

 

 

 

 


사용법

 

 

반갑다. 제군들 나는 주피터 님이시다.

 

 

여기서 파이썬을 어떻게 사용하느냐-

아래의 그림과 같이 New 를 누르면 Python2이 설치 되어있으면 Python이 뜰 것이고 Python3이 설치되어 있으면 아래와 같이 Python3가 뜰 것이다.

 

아래 그림의 뉴 - 파이썬3을 누르면

 

 

짜란- 아래 그림과 같이 코딩할 수 있는 화면이 등.장.함.

 

우리 코딩 어린이, 코린이들을 위해 중요한 세 가지를 박스쳐 왔으니, 왼쪽부터 저장, 코드 라인 추가, 실행 순이다.

여러가지 기초 코드들을 작성해보며 주피터를 장난감처럼 다뤄주길 바란다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


원격설정

 

아래 부터는 원격 설정 부분이다.

 

원격 설정은 집 밖에서도 컴퓨팅 환경이 된다면, 코딩을 365일 밤낮 가리지 않고 학학 할 수 있는 것인데, 현업자의 입장에서는 누가 만들고 구상했는지 정말 미워 죽겠다. 다른 말로는 원격이 되므로 밤낮 가릴 것 없이 365일 야근을 할 수 있다는 소리다. ㅋㅋㅋ (현타)

 

 


 

 

$ jupyter notebook --generate-config

 

 


 

 

위 명령어를 입력하게 되면 home/~username~/.jupyter/ 경로에 'jupyter_notebook_config.py' 파일이 생성된다.

그리고 아래와 같이 주피터 노트북을 실행하여 코드를 작성한다.

 

 


 

 

 

from notebook.auth import passwd

passwd()

 

+23.11.06

기존 jupyter notebook 7 이전에는 from notebook.auth import passwd를 사용했지만

7부터는 from jupyter_server.auth import passwd를 사용한다.


 

 

이 명령어들은 패스워드를 설정하겠다는 소린데, 실행하면 아래와 같은 패스워드를 입력하라는 창이 뜬다.

 

 

 

이 패스워드를 등록하면 원격으로 접속하게 된 세션(컴퓨터)는 패스워드를 입력하고 들어가야 하므로 입력하고 까먹지 말자. 제발.

다른 사이트들의 회원가입 창과 같이 비밀번호를 한 번 입력하게 되면

 

 

 

 

한 번 더 입력하라고 뜬다. 이렇게 동일한 패스워드를 두 번 입력하게 되면 아래와 같이

 

 

 

'sha1: ~~~~~' 라고 출력 값을 내뱉아 주는데 !절.대.창.을.끄.면.안.된.다! 파일에 입력하기 전 까지는!

왜냐하면 이거 복사했는데 날려먹고 다시 하는 사람들이 엄청 많았음...

 

여튼 저 샤샤샤 코드님을 복사해서 등록해야 할 때가 왔다.

 

 


 

 

 

$ cd home/~username~/.jupyter

$ vi jupyter_notebook_config.py

 


 

 

home/~username~/.jupyter 로 경로를 이동한 이후 vi 편집기로 jupyter_notebook_config.py 파일을 연다.

 

 


 

 

:/pp.pass/

i

c = get_config()

c.NotebookApp.password = u'~붙여넣기~'

 


 

 

파일을 열면 어마어마하게 길고 무시무시하게 어려운 영어(?)가 좌르륵 적혀있는데 겁먹을 필요가 없다.

걍 찾아서 바꾸고 입력만 하면 되니까.

: 를 누르고 ( ; 아님) /pp.pass/ 를 입력하면 c.NotebookApp.password 위치를 찾아준다.

그리고 위의 사진과 같이 수정해준다.

 

분명 vi편집기 쓸 줄 모르는 사람이 있을 것이기 때문에, 여기서 간단히 사용될만한 것들을 적어본다.

 

 


VI 편집기

 

i 커서 왼쪽에 문자 삽입 (종료 : esc)

a 커서 오른쪽에 문자 삽입 (종료 : esc)

 

dd 커서 있는 라인 삭제

 


 

더 궁금한 VI 편집기 명령어는 여기 를 클릭하기 바란다.

 

입력을 완료 했으면 원격 설정 1/4을 마쳤다. 아래의 작업으로 내려간다.

 

 


 

 

 

:/pp.ip/

c.NotebookApp.ip = ' ~user ip~'

 


 

역시나 마찬가지로 pp.ip를 찾은 이후 ip를 설정한다.

현재 내 IP를 적으면 된다.

 


 

 

:/open_bro/

c.NotebookApp.open_browser = False

 


 

여기도 마찬가지로 수정하면 된다.

난 위의 # (주석)을 떼지 않고 냅둔 상태로 아래에 적었는데 그렇게 한 이유는

수정했을 때 디폴트 값을 모르게 되고 그로 인한 불상사는 네버에버 사절이기 때문이다.

 


 

 

:wq

 


 

그리고 저장 후 종료( :wq는 저장 후 종료라는 뜻이란다.) 한다. 

이 것으로 원격 설정이 끝났다. 시험을 해보자면-

 

내가 입력한 ip : 8888 로 접속했을 때 아래 사진과 같이 뜬다.

 

 

응. 그럼 성공.

 

 

+ 아 참고로 글 가지고 가실 땐 CCL 되어 있으므로 링크/댓글 남겨주세요. 아니면 큰일나~