Tag Archives: data science

Jupyter for Clojure

데이터 사이언스 동네에서 Jupyter가 소위 '핫한' 도구로 떠오르고 있다. 파이썬 개발환경 도구로 시작했지만 웹과 커널을 분리된 특성으로 인해 다른 여러가지 언어들을 위한 커널들이 오픈소스로 개발되고 있으며, 특히 파이썬 IDLE과 같은 동적 개발 환경을 제공하는 언어들에게 안성맞춤이다. 게다가 소스코드와 그 실행 결과, 마크다운 형식의 텍스트 등을 함께 'Notebook (확장자: ipynb)' 형식으로 공유할 수 있으며 GitHub에서는 ipynb 렌더링까지 지원하여 Jupyter가 설치되어 있지 않은 사용자도 그 내용을 살펴볼 수 있다. 

요즘 관심을 갖고 있는 언어인 Clojure도 REPL이라는 동적 개발 환경을 제공하고 있기 때문에 당연히 Jupyter를 활용할 수 있으리라 생각했는데, 역시나 누군가 커널을 만들어두었다(clojupyter, 역시나 세상엔 멋진 사람들이 많다).

설치 과정은 다음과 같다 (Mac OS X El Capitan, 10.11.3).

  1. 기존에 Python 2.7이 설치되어 있었으나, jupyter에서 권장하는대로 Anaconda를 사용해서 3.5버전도 추가로 설치하기로 했다. Python을 잘 사용하지는 않지만, 데이터사이언스에 유용한 패키지들이 함께 설치되는데 이런거 좀 설치했다고 데이터 사이언티스트된 것처럼 느껴지는 건 기분 탓이다.

    conda install jupiter
    

    주의: Anaconda 설치할 때 기본적으로 bash에 PATH를 잡기 때문에 zsh를 사용하는 경우 conda, jupyter-notebook 등의 명령이 잡히지 않는다. 따라서 ~/.zshrc 파일에 설정해주어야 한다. 이 때 상단의 export 부분에 설정해주면 잡히지 않기 때문에 #User configuration 으로 된 부분에 anaconda3/bin 경로를 PATH에 추가해준다.
     

  2. clojupyter를 install 한다.

    git clone https://github.com/roryk/clojupyter
    cd clojupyter
    make
    make install
  3. 이상하게도 clojupyter에는 Clojure 로고가 포함되어 있지 않다. logo-64×64.png로 클로저 로고 이미지를 만들어 ~/Library/Jupyter/kernels/clojure 에 추가해준다. 
    (주의: Clojure 커널 바이너리인 ipython-clojure는 위 경로 외에 ~/.ipython/kernels/clojure에도 설치되는데 로고 이미지를 여기에 넣으면 인식이 되지 않는다)

     

    clojure-kernel
     

  4. Welcome to Jupyter for Clojure!

    jupiter-notebook

    clojupyter
     

  5. R용 커널인 IRkernel 설치는 덤이다 (참고로 내 경우는 Binary 설치에 실패해서 Source로 설치했다).

    irkernel

 

개발 환경만 설치만 하지 말고 개발 좀 하자..