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

2016/10/01 0:42 に 森山誠二郎 が投稿   [ 2016/10/01 0:50 に更新しました ]
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した模様。誰か開発・保守を引き継いてくれることを祈る。
Comments