JupyterでRを使おうとしたら詰まった話
すでに分かりやすい説明がいくつもありますが、自分の環境では詰まったのでまとめてみる。
環境
・OS:MacOS Sierra(10.12.6)
・R:3.4.2
・Jupyter:4.3.0
※pyenvでanaconda3-5.0.1をインストールして使用
参考
qiita.com
ターミナルでRを立ち上げ以下のコマンドを入力すれば良い、はずなのですが自分の場合は1行につき1回詰まりました。。。
> install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest')) > devtools::install_github('IRkernel/IRkernel') > IRkernel::installspec()
まず1行目を入力すると
警告メッセージ: doTryCatch(return(expr), name, parentenv, handler) で: 共有ライブラリ '/Library/Frameworks/R.framework/Resources/modules//R_X11.so' を読み込めません: dlopen(/Library/Frameworks/R.framework/Resources/modules//R_X11.so, 6): Library not loaded: /opt/X11/lib/libSM.6.dylib Referenced from: /Library/Frameworks/R.framework/Resources/modules//R_X11.so Reason: image not found
どうやらX11がないと怒られているようです。
調べてみると以前のmacOSではX11が標準で入っていたようですが、現在は別途インストールする必要があるようです。
macos - Can't load X11 in R after OS X Yosemite upgrade - Stack Overflow
Mac 用の X11 について - Apple サポート
アップル公式サイトからダウンロードサイトへ移動してインストールします。
インストールすると「/opt/X11/lib/libSM.6.dylib」が生成され無事にパッケージのインストールはできました。
次に2行目のコマンドですが
> devtools::install_github('IRkernel/IRkernel') Skipping install of 'IRkernel' from a github remote, the SHA1 (dfa7f4ef) has not changed since last install. Use `force = TRUE` to force installation
`force = TRUE`と言われたのでとりあえずその通りに実行してみます。
> devtools::install_github('IRkernel/IRkernel', force = T) Downloading GitHub repo IRkernel/IRkernel@master (中略) *** installing help indices ** building package indices ** testing if installed package can be loaded * DONE (IRkernel) 警告メッセージ: GitHub repo contains submodules, may not function as expected!
警告メッセージは出たものの、一応インストールはできたようなので先に進んでみます。
> IRkernel::installspec() IRkernel::installspec() でエラー: jupyter-client has to be installed but “jupyter kernelspec --version” exited with code 127.
エラー文を検索してみてもよく分からない。。。
で、2時間くらい悩んだのですが、これは完全に私の不注意でした。
最初に書いたようにpyenvのanacondaでjupyterをインストールしていたのですが、実行環境がanacondaじゃなかった(笑)
anaconda環境でRを立ち上げて上記コマンドを実行し、ターミナルに戻って
$ jupyter notebook
これで新規ファイル作成時にRを選択できるようになりました。