Irubyのnyaplotをhttps:のjupyterhubで動かす(グラフ表示する)

Post date: 2016/10/01 7:42:58

jupyterでは動く(グラフを正しくプロット表示でいる)nyaplotが、jupyterhubではグラフが表示されないという問題がある。

正確にいうと、jupyterhubでも--no-sslでは表示されるが、sslでは(つまりhttps://でアクセスすると)グラフが表示されない。

試してないが、jupyterでもhttps接続すればダメではないかと思うが、jupyterは自分のローカルの環境で使うことが普通であろう

から、httpsの必要がない。しかし、jupyterhubでは、サーバとして外部からの接続をゆるす場合、https化は不可欠である。

原因は、httpsでアクセスするプログラムの中でhttp接続はできないらしいことだと思う。nyaplotの場合、javascriptやcssの取得にhttpを使用して

いるのが問題だと思われる。

【対策】

・https://github.com/SciRuby/nyaplot からgem installする

git clone https://github.com/SciRuby/nyaplot

cd nyaplot

gem build nyaplot.gemspec

gem uninstall nyaplot

gem install ./nyaplot-0.1.6.gem

・アプリで、require 'nyaplot'のあとで、

Nyaplot.load_notebook

を実行する

nyaplotを開発したdomitry氏はactiveでないようでhttps://github.com/domitry/nyaplot は更新されてない。

(issue#77:Package JS libraries in nyaplot and don't rely on external CDN )で、外部のContents Delivery Networkに頼るのでなくjavascriptをパッケージにすべきとの提案があり、Issue#80: Introduce Nyaplot.load_notebook でmrkn氏がpull requestを作成した。しかし、domitry氏が反応しないので、nyaplotをSciRuby/nyaplotにforkし、mergeした模様。誰か開発・保守を引き継いてくれることを祈る。