概要

Jupyterのコマンドを覚えるのはだるいけど、職業上すぐに立ち上げて確認したい!ってことが多々あるので、コマンド表を用意していましたが、コマンドをコピペするのもだるくなってきたので、aliasでシュッと立ち上がるコマンドを用意しようと思いました。

ローカルで使ってね。(公開した環境で使うのはもうちょっと考えてください)

環境

    • bashでもzshでも

 

    Mac OS Catalina
$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.15.7
BuildVersion:   19H15

で、できたのがこれ

$ launch_jupyter
[I 01:47:03.028 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[W 01:47:03.338 NotebookApp] All authentication is disabled.  Anyone who can connect to this server will be able to run code.
jupyter_http_over_ws extension initialized. Listening on /http_over_websocket
[I 01:47:03.408 NotebookApp] JupyterLab extension loaded from /opt/conda/lib/python3.7/site-packages/jupyterlab
[I 01:47:03.408 NotebookApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
[I 01:47:03.411 NotebookApp] Serving notebooks from local directory: /app
[I 01:47:03.411 NotebookApp] The Jupyter Notebook is running at:
[I 01:47:03.411 NotebookApp] http://6f0d7f19461f:8888/
[I 01:47:03.411 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 01:47:03.420 NotebookApp] No web browser found: could not locate runnable browser.

pbcopyと組み合わせているので、クリップボードにはhttp://localhost:xxxxが乗っていて、ブラウザ開いてURLバーにペーストしたらjupyter画面が表示されるようになっています。

作り方

~/.bashrc か ~/.zshrcへ下記コマンドを用意します。

alias launch_jupyter='export DPORT=$(expr $RANDOM % 100 + 10000); echo "http://localhost:${DPORT}" | pbcopy; docker run --rm -v $(pwd):/app -p ${DPORT}:8888 -it hoto17296/anaconda3-ja jupyter notebook --notebook-dir=/app/ --ip=0.0.0.0 --port=8888 --allow-root --NotebookApp.token='''

沖縄のDockerおじさんの @hoto17296 のDocker imageを使わせてもらっています。 hoto17296/anaconda3-ja

また、ホストとフォワードするポート番号は適当にランダムで出すようにしています。たまに使用しているポートにぶつかりますが、もう一度実行すれば大丈夫です(?)

あ、ちなみにDockerを使っているのは、ホストの環境を汚したくないからです。

雑感

aliasの名前はもうちょい短くてもいいかな〜って思っている

广告
将在 10 秒后关闭
bannerAds