Beaker Notebook 설치 라즈베리 파이에

watch_later 토요일, 12월 16, 2017

서론

주비터 노트북을 쓰다가. 비커 노트북이란 것도 있다고 알게됐다.

이게 왜 좋으냐면.. 지금 쥬피터 노트북에 스칼라 커널을 깔아서 스칼라 노트를 만들어 쓰고 있는데 스칼라(정확히는 암모나이트)로 할 수 없거나 불편한 일들이 있다.

파이썬 panda 를 쓰면 엑셀파일 가져오기도 쉽게 할 수 있는데. 한 노트북에서 하나의 언어만 쓸 수 있는 제한 때문에 … 여튼!

비커의 경우 한 노트에 여러 언어를 쓸 수 있고. 서로 간의 자료를 공유할 수 있다.

아래처럼 파이썬 판다로 자료를 가져와서 그걸 R 로 넘길 수도 있고.. 스칼라나 자바스크립트로 넘길 수도 있다. 즉, 스칼라로 판다를 구현할 필요가 없이 판다가 잘하는 부분은 판다를 쓰고 그것으로 무언가를 하고 싶다면 스칼라든 뭐든 필요한 언어를 쓰면 된다는 것.

enter image description here

열나게 좋다. 또 하나 기대되는 부분은 파이썬 코드를 자바스크립트로 번역해주는 기능이다. 이게 왜 중요하냐면… 스칼라로 작성된 언어를 스칼라.js 로 번역할 수는 있지만 그건 파사드를 정해주거나 해야하는데 이건 그게 필요없는 것 같다. 기대가 될 뿐 아직 없는 기능이다.

그리고 쥬피터 노트북을 실행하려면 터미널이 떠서 번거로웠는데 … 이건 Electron 으로 만들어진 어플리케이션을 제공한다.

본론

설치

용량이 꽤 크다. 한참 걸림.

docker pull beakernotebook/beaker

중간에 다운이 되다가 안 된다. 멈춰있는 것이 아니니 한참 기다려야 함.

할 수 있다면, 로컬에서 먼저 설치한 후 그 이미지를 tar 파일로 만들어서 복사하는 것이 더 빠를 듯 싶다. 네트워크로 하니 느리다.

아래 save 명령어 설명 페이지.

https://docs.docker.com/engine/reference/commandline/save/#examples

언어 추가 설치

스칼라는 기본 설치되어 있다. 하지만 ipython 이 설치되지 않아서 새 기본 노트를 쓰려면 오류가 난다.

enter image description here

언어를 설치하려면 언어 관리자에서 설치하면 된다.

enter image description here

정확히는 설치된 언어를 활성화 하는 것이다.

ipython 과 python3 설치

i파이썬 설치하려면 아나콘다(500메가)를 다운 받아야 한다. 좀 품이 많이 든다;; 라즈베리 파이에 설치하는 거 치고는 좀 빡센듯?

아나콘다 콘솔을 킨 다음.

enter image description here

아래의 명령을 통해서 설치 가능.

 conda create -n py3k python=3 anaconda
Fetching package metadata ...........
Solving package specifications: .

Package plan for installation in environment 

이후

$ sudo nano ~/.beaker/v1/config/beaker.pref.json

language 내용을 추가하면 된다.

{
  "autocomplete-parameters" : "true",
  "pref-format" : "1",
  "edit-mode" : "default",
  "languages" : {
    "IPython" : {
      "path" : "~/anaconda3/bin"
    },
    "Python3" : {
      "path" : "~/anaconda3/envs/py3k/bin"
    }
  },
  "advanced-mode" : true,
  "allow-anonymous-usage-tracking" : false
}

advanced-mode 와 추적 기능은 내가 반대로 바꿨다.

언어 관리자로 들어가서 두 언어를 켜준다.

더 자세한 내용은 : https://github.com/twosigma/beakerx/wiki/Language-Preferences

새 기본 노트 설정 변경

새로 만들면 무슨 ipython 코드가 들어있는 노트가 생성된다. 난 파이썬 설치를 안… 아 해야겠네 판다 때문에.. 움.. 여튼 원하는 대로 바꾸려면 아래의 노트북을 생성하면 된다. 내용을 넣으면 그렇게 열린다.

$ sudo nano ~/.beaker/v1/config/default-notebook.bkr
실행
docker run -p 8888:8888 beakerx/beakerx

내 경우는 nginx-proxy 설정을 해서 포트 노출을 안한다.

--name wordpress -e VIRTUAL_HOST=beaker.xxxx.com -d beakerx/beakerx

기능

쥬피터 스칼라 노트(.ipyng) 파일도 열 수 있다.

언어 관리자에서 각 언어별로 의존성(라이브러리)을 정의할 수 있다.

enter image description here

코드 상에서 메이븐 저장소에 있는 의존성도 로드 가능하다.

%classpath add mvn org.apache.spark spark-core_2.11 2.2.0

https://github.com/twosigma/beakerx/blob/master/doc/old/classpath_add_jar_by_mvn.ipynb

grapes 로도 가능

https://github.com/twosigma/beakerx/blob/master/doc/old/GrapeExample.ipynb

언어 환경설정도 가능하다

스칼라 실행시 옵션 넣기 가능.

https://github.com/twosigma/beakerx/wiki/Language-Preferences

다른 언어간 자료 공유(자동 변환) 가 가능한다.

https://github.com/twosigma/beakerx/wiki/Auto-Translation



sentiment_satisfied Emoticon