京橋のバイオインフォマティシャンの日常

南国のビーチパラソルの下で、Rプログラムを打ってる日常を求めて、、Daily Life of Bioinformatician in Kyobashi of Osaka

Mac Jupyterで、RとかPythonとかシェルとかのセットアップをするの巻

はじめに

Jupyter (ジュピター) は、対話型プログラミング用のブラウザ・インターフェイス と言えば良いのかな。PythonとかRとか、数十のプログラミング言語の動作環境として使えるのが魅力である。

大別して、Jupyter notebook と Jupyter lab という2種類のタイプがある。

個人的には、Jupyter lab のほうが若干見やすいというくらいの違いという印象である。

Jupyterのインストールと、いくつかの言語のセットアップ法についてメモしておく*1

まずは、 ターミナルを立ち上げて、Macの実行環境確認

$ brew config

HOMEBREW_VERSION: 2.3.0-37-g49324ad
ORIGIN: https://github.com/Homebrew/brew
HEAD: 49324ad17fab39f3312c568b5404cbf86b089d17
Last commit: 3 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: d043c3bc993728c0c2f05ebb13f8515640aeef26
Core tap last commit: 5 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.j3r06eCwYV/org.macosforge.xquartz:0
HOMEBREW_MAKE_JOBS: 8
CPU: octa-core 64-bit kabylake
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
Clang: 11.0 build 1103
Git: 2.26.2 => /usr/local/bin/git
Curl: 7.64.1 => /usr/bin/curl
Java: 12.0.2, 1.8.0_91
macOS: 10.15.5-x86_64
CLT: 1103.0.32.62
Xcode: N/A
XQuartz: 2.7.11 => /opt/X11

$ which python
/usr/local/bin/python

$ python -V
Python 3.7.7

$ which pip3
/usr/local/bin/pip3

$ pip -V
pip 20.0.2 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

実行環境としては、 Python3.7とかpip3とかのパスが通ってるのを前提とする。

jupyterの設定

jupyter notebook のインストール

$ pip3 install jupyter

# notebook サーバー起動
$ jupyter notebook

jupyter notebookをいったん閉じる。

jupyter lab のインストール

$ pip3 install jupyterlab

# lab サーバー起動
$ jupyter lab

Jupyter labの起動画面はこんな感じ。

デフォルトだと、 http://localhost:8888/lab で繋がるはず。

アイコンはあるけど、このインストールだと python3のNotebookとConsoleしか起動できない。

いまさらながら、python2の設定(失敗)

$ brew install python2

Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
==> Updated Casks
carbon-copy-cloner                       goland

Error: No available formula with the name "python2" 
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.

残念ながら、"python2" のformulaは削除されたようだ。

Rの設定

RあるいはRStudioを起動

options(repos="https://cran.csiro.au")

install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))

devtools::install_github('IRkernel/IRkernel', force = TRUE)

IRkernel::installspec(user = FALSE)

ここで、RあるいはRStudioを閉じて*2、Jupyter labを見てみると

Rのアイコンが増えている!!

ibashの設定

$ pip3 install bash_kernel

$ python -m bash_kernel.install

これで、Bashのアイコンをクリックすると、 Notebook/Consoleが起動する。

SPARQLの設定

$ pip3 install sparqlkernel

$ jupyter sparqlkernel install

ijsの設定

$ brew install pkg-config node zeromq

$ pip3 install --upgrade pyzmq jupyter

$ npm install -g ijavascript

$ ijsinstall

これを実行すると、以下のエラーが出力された。どうも、Xcodeのインストールが必要らしい。

もしijavascript が使いたいなら、Xcodeをインストールしましょう。

gyp: No Xcode or CLT version detected!
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)
gyp ERR! System Darwin 19.5.0
gyp ERR! command "/usr/local/Cellar/node/14.4.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/ijavascript/node_modules/zeromq
gyp ERR! node -v v14.4.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zeromq@5.2.0 install: `node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the zeromq@5.2.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/skume/.npm/_logs/2020-06-04T18_41_57_773Z-debug.log

まとめ

最終的に、こういう感じのLauncherになった。

アイコンが簡単に増えても、言語処理能力が追いつかない。。。

補足

jupyterのipynbファイルをhtml出力する

$ pip3 install runipy

$ runipy src.ipynb out.ipynb

$ jupyter nbconvert out.ipynb --to html

CentOSでのjupyter設定(python3.6バージョン)

$ sudo yum install -y python36u python36u-libs python36u-devel python36u-pip

$ python3.6 -m pip install --upgrade pip

$ python3.6 -m pip install jupyter

*1:ただ、RStudioユーザーとしては特段使いやすさは感じてないんだけど。。。

*2:今回、エラーが出たが、IRkernelのインストールさえうまくいけば動くかも