ブラウザ上で開発をしよう!:Jupyter NotebookでRとNode.jsを導入

いろいろな更新が滞っているブログですが、気が向いたときに追加していくということでご容赦ください(笑)。

前職の研究開発(自然言語処理)をしているときから、会社のクラウド環境とは別に、いろんな開発検証用の環境をAWS(Amazon Web Service)上に作っています。

先日、Node.js(JavaScriptのサーバサイド実行環境)を入れていたのですが、Anacondaを使って入れていると、IPython Notebook(Pythonのブラウザベース開発環境)が入っていて、よくよく調べてみると、そのProjectは今はJupyter Notebookとなっていて、いろんな言語の開発環境がブラウザベースで作れる+しかも、AWSに適用しているLinuxのファイルベースで管理ができるという、すごいことになっていました。そこでNode.jsとRも使えるようにしてみましたので、その方法をまとめてみます。

 

AWS上のLinuxはCentOS6.5です。

もともとがIPython Notebookなので、Anaconda上でIPython Notebookを適用してから、ターミナル上で

もしくは

で実行できると思います。デフォルトでは、http://localhost:8888上で実行できるのみですが、AWSのようなクラウド環境で適用させたい場合は、リモートで使える設定をする必要があります。

 

まずは、ログインパスワードの設定、ipythonを起動し、

を打つと、パスワードが求められるので、設定したいパスワードを打つと鍵が発行されるので、それをメモ。次に設定ファイル、~/.jupyter/jupyter_notebook_config.pyの中の

等々設定してもらえれば、リモートでも使えるようになると思います。もちろん、AWSのようなクラウドサービスの場合は、セキュリティグループ設定でポート番号も開放する必要がありますが。

 

接続すると

スクリーンショット 2016-02-11 0.36.09

ログイン画面が現れるので、先ほど設定したパスワードを打てば

スクリーンショット 2016-02-11 0.38.01

という形で入れると思います。ここの起動位置は、jupyter notebookをコマンド起動したファイル位置になります。

デフォルトでpythonは作成できるようになっています。Newからpythonを選んでもらうと

スクリーンショット 2016-02-11 0.41.41

のような実行画面が出てきます。プログラムを書き(画面上は一行ですが、複数行書くことも可能)、Shift+Enterで即時実行されます。賢いのは、tabキーでコードアシストされたり、実行履歴自体もipynbというJSON形式のファイルになっていて、それをpy形式だけではなく、HtmlやPDFなどの出力も可能ということ。これは素晴らしい!

 

 

Node.jsとRの導入に関してを、最後に触れておきます。

 

 

Node.jsの導入方法は、下記を参考に

GitHub – notablemind/jupyter-nodejs: A node.js kernel for jupyter/ipython

ほぼ、そのままで、GitHubからjupyter-nodejs-1.1.0.tgzをダウンロードしたうえで、

で、実行可能になります。

スクリーンショット 2016-02-11 1.53.40

 

 

 

一方のRのほうですが、こちらのほうはGitHubに上がっているIRkernelを使う方法は

GitHub – IRkernel/IRkernel: R kernel for Jupyter

なぜか僕の環境ではうまくいかなかった(パッケージの適用ができない)ので、下記の方法を参考にしました。

Jupyter and conda for R | Continuum

AnacondaでRとR-enssentialを入れるだけです。

これでjupyter notebookを立ち上げるだけで、Rを使えるようになっていました。

スクリーンショット 2016-02-11 2.12.24

ブラウザがあれば、どこでも開発できる夢の様な環境です。これで、いろいろ作っていきたいと思います。

One thought to “ブラウザ上で開発をしよう!:Jupyter NotebookでRとNode.jsを導入”

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です