jupyterを使った。それだけ1。
久しぶりの更新です。
今までpython使ってたのに、jupyter使ったことなかったので、その設定メモそのほかを書き連ねようかと思います。
jupyterとの出会い
いままで解析とかしてきたけど、実際のところ普通にpython xxx.pyでまぁまぁそれで事足りた。
んでも、なんかよくjupyterみるし、、隣で使ってるし、kaggleもねぇ。。。。やってみるか。という至って普通の経緯
書いて気づいたんだけど、木星はjupiter。こっちはjupyter。しゃれてんな
入れた
まぁanacondaの人はconda install jupyter とかで、、、pipでも入る。
numpyとか必要な条件はあるけど、
pipならこれで行ける。おきまりのpipアップデートや必要なパッケージを入れてからinstall
ちなみに、ipythonではなくipython[noteboo]出ないと入らない
1 2 3 4 |
"]sudo apt-get update && sudo apt-get -y upgrade sudo apt-get install -y python-pip libpq-dev python-dev sudo pip install -U pip sudo pip install ipython[notebook] |
やってみような
簡単だった。Notebookを開きたいフォルダに移動しといて、
$jupyter notebook
のちに、ブラウザで
http://localhost:8888/tree
叩けばいける。8888の部分はポート番号。これで最低限動いた。このとき、端末上で”untitle.ipynb”なるものが、notebookに相当して、中身はjson
お外から繋ぎたいし、サーバーで動かしたいし、パスワードかけたい
そんな設定のためにconfigファイルを作ります。コマンド叩きます。
$ jupyter notebook --generate-config
んで、~/.jupyter/jupyter_notebook_config.pyというconfigが生まれます。こいつをいじります。まずお外から繋げるようにします。
起動時に–ipオプションで許可IP設定したりして、http://<宛先IP>:<port>/tree打てば操作できるけど、あまりにも危険。ip = 0.0.0.0とかね。
ってことで、鍵を作ります。Ipythonは入れときましょうipythonを使って鍵を作って認証します。
1 2 3 4 5 6 |
$ipython In [1]: from notebook.auth import passwd In [2]: passwd() Enter password: (任意のパスワード) Verify password:(任意のパスワード) Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed' |
この’sha1:XXXXXXXX’部分はコピって、jupyter_notebook_config.pyを編集します。
1 |
c = get_config() |
1 2 3 4 5 |
c.IPKernelApp.pylab = 'inline' c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = (任意のポート) c.NotebookApp.password = u'sha1:XXXXXXX' |
コメントの塊なので、解除して書き換えます。
ポートはufwに引っかからないように。
これで、http://<宛先IP>:<port>/treeでいけるようになりました。
プロキシとか通していたり、ゲートウェイ経由なら
ポートフォアディングします。sshで繋げる時に
ssh -L <port>:<host>:<hostのport> <username>@<ip_address> -Y
を通して立ち上げます。-Lはポートフォアデイング、-YはX11 で画像転送(癖でつけてる)
すると、自分の指定したportにアクセスすることでリモートのnotebookにアクセスできます。要は、
http://localhost:/tree
みたいな感じな。これで、立ち上げはできた。ガンガン使うよ。次回