Edit

Jupyter Notebook + R 연동하기


강의를 해야하는 상황이 점점 오고 있습니다. 기존에 RStudio를 써봐서 강의를 진행하기도 하였지만, 강의를 듣는 청자의 입장에서 이것저것 불편한 점이 많았습니다.

RStudio가 개발 환경에서는 분명 좋기는 하지만, 무언가 더 좋은 프로그램이 없을까 고민하던 찰나에 python 데이터 분석가가 주로 사용한다는 Jupyter NotebookR과 연동이 된다는 얘기를 듣게 되어 바로 환경설치 작업에 들어갑니다. 

몇몇 싸이트를 참고하기는 했습니다만, 대표적으로 글을 써야겠다고 느낀점은 아래 StackOverFlow에서 근본적인 원인을 발견하고, 해결하여, 비슷한 경험이 없기를 바라는 마음에 작성합니다. 

rJava not loading in Jupyter Notebook with R kernel

참고로 제 개발환경은 아래와 같습니다.

> sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.2

Matrix products: default

BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base
  • 1. 첫번째, 환경설정 시 주의해야 할 사항

주의!

기존에 R 사용자는 Jupyter Notebook를 사용하기 위해 Anaconda를 다운받지 마세요.

  • 보통 위 그림과 같이 Jupyter Notebook를 사용하기 위해 Anaconda를 많이 사용합니다. 저 역시, 처음 Python을 배울 때는 Jupyter Notebook을 사용했습니다.

  • Anaconda와 기존에 설치된 R을 다시 연결해야 하는데, 초보자에게는 쉽지 않습니다.

  • Anaconda에서 R을 설치하려면 아래와 같이 명령어를 입력해야 합니다.

$ conda install -c r r-essentials

WHY?

  • 간단한 통계분석을 한다고 하면, 사실 상관이 없습니다.

  • 그런데, rJava 패키지를 활용하려면 자바 경로를 Anaconda에 맞게끔 재 설정해야 합니다.

  • 즉, 기존에 설치된 RRStudio에서는 이상없이 설치되는 패키지가 Anaconda Jupyter notebook에서는 에러가 되는 상황이 발생이 됩니다.

  • 이유는, Anaconda Jupyter notebook이 자바 경로와 설정이 되지 않았기 때문입니다.

  • 다시 말하면, 시스템 초보자에게는 이 부분이 매우 어려울 수 있습니다.

  • 저 역시, rJavaAnacondaJupyter notebook과 연결이 되지 않아 결국 Anaconda를 전체 삭제했습니다.

2. 두번째, Jupyter Notebook 설치

Jupyter 설치 방법은 링크를 앞에 Jupyter를 클릭하시기 바랍니다.


(1) Python 버전 확인

먼저 터미널을 엽니다. (Terminal)

터미널은 위와 같이 생겼습니다.


$ python --version
Python 3.7.1

(2) 버전에 맞게 설치 방법 확인

Jupyterpip이라는 설치 모듈(module)이라는 도구를 활용하여 설치를 진행합니다.

$ python3 -m pip install --upgrade pip
$ python3 -m pip install jupyter

설치가 완료가 되면 먼저 jupyter notebook를 실행합니다.

$ jupyter notebook

3. IRkernel 패키지 설치

IRkernel 패키지는 일종의 Jupyter notebookR이 등록될 수 있도록 도와주는 패키지로 이해하면 좋을 듯 합니다. Windows, MacOS, Linux 등 각 OS에 맞는 자세한 설치방법은 IRkernel 홈페이지에 있습니다.

저는 맥북 사용자이기 때문에 MacOS 설치 버전을 아래 그림과 같이 따라했습니다.

$ xcode-select --install
$ brew install zmq
# or upgrade
$ brew update
$ brew upgrade zmq

(1) brew가 없으신 분들을 위해

brew는 일종의 맥북 패키지 관리자 도구입니다. 자세한 설치방법은 Homebrew 홈페이지를 참조하시기를 바랍니다.

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

(2) MacPorts

저는 주로 brew를 이용합니다만, MacPorts를 사용하시는 분들을 위해 남겨 놓습니다.

$ xcode-select --install
$ sudo port install zmq
$ export CPATH=/opt/local/include
$ export LIBRARY_PATH=/opt/local/lib

4. R Package 설치

주의!

  • R App 또는 RStudio에서 해당 패키지를 설치하지 말아주세요.

  • 홈페이지에서는 다음과 같이 경고 합니다.

    On OS X, be sure to execute this in R started from the Terminal, not the R App!
    (This is because the R app doesn’t honor $PATH changes in ~/.bash_profile)

  • 간단히 말하면, 위 패키지는 R과 경로 설정이 안되어 있다는 뜻입니다.

  • Terminal에서 R을 실행합니다.

$ R

R을 실행하면 아래와 같은 화면이 나오면 정상적으로 실행이 완료가 된 것입니다.


이제, R 패키지를 위 화면에서 설치합니다.

> install.packages(c('repr', 'IRdisplay', 'IRkernel'), type = 'source')

5. R kernel을 Jupyter에 등록하기

이제 마지막입니다. 아래와 같이 입력한 후 결과값이 나와야 합니다. 설치가 정상적으로 완료되면, q() 함수를 이용하여 다시 터미널 환경으로 돌아옵니다.

> IRkernel::installspec()
[InstallKernelSpec] Removing existing kernelspec in /Users/jihoonjung/Library/Jupyter/kernels/ir
[InstallKernelSpec] Installed kernelspec ir in /Users/jihoonjung/Library/Jupyter/kernels/ir
> q()

6. Jupyter notebook에서 R Kernel 확인하기

실제로 R Kernel이 등록되었는지 확인합니다.

jupyter notebook

아래 그림에서 보는 것처럼 정상적으로 설치가 되었고, rJava도 정상적으로 호출이 되었습니다.



[R에서 딥러닝 해보실래요?https://cozydatascientist.tistory.com/77


'R > [R] 잡동사니' 카테고리의 다른 글

[R 마크다운 소개] R Markdown 소개 및 환경설정  (0) 2019.10.04

+ Recent posts