Go to list of users who liked
Share on X(Twitter)
Share on Facebook
More than 5 years have passed since last update.
iruby (jupyter) でrubyのバージョンを切り替える手順
iRuby(Jupyter上で動くruby)を利用する際にRubyのバージョンを切り替える手順について
動作環境
MacOS ElCapitan
IRuby 0.2.9
手順
jupyterにkernelとして登録されているirubyはjupyterにはフルパスで登録されるので、rbenvなどでrubyを切り替えても追従しない。
jupyterに新しいバージョンのrubyを登録する必要がある。
rbenv local 2.3.1 #新しいバージョンのrubyへの切り替え。このバージョンでirubyはすでにインストール済みとする
この状態ではkernelに登録されているRubyのバージョンは変わっていない。
iruby register --force #新しいバージョンへ切り替わるjupyter kernelspec install ~/.ipython/kernels/rubyiruby notebook #jupyterを起動ちなみに初めてiruby notebook を起動する時に、その時点のRubyがkernelとして登録される。
何が起きているか?
irubyのソースを読んでみる。irubyコマンドを実行した際の処理のコードは以下の場所にある。
register_kernelメソッド内でRubyのパスを書いたjsonファイルを作成し、~/.ipython/kernels/ruby/kernel.jsonに保存している。
jupyterはkernelの情報をjupyter --pathで表示されるパスから読んでいる。
2016年9月現在、jupyter 4.1.1ではkernelの情報を "~/.ipython" 以下ではなく "~/Library/Jupyter"から読む。
おそらくiruby 0.2.9は昔のjupyterの仕様を想定しているため、kernel情報を"~/.ipython"以下に書き出すのだが、最新のjupyterではそのパスは認識されない。
そのため、jupyter kernelspecコマンドで"~/.ipython"のパスをkernelとして登録している。
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
