jupyterlab利用 - dockerで動かす
データ分析の勉強してたら使ってみたい環境が出てきた。 jupyterってのがあるらしい pythonはlinuxのシェルで動かすもんかなぁって思ってたらそうやない。 コマンドライン環境だけじゃなくて、グラフとかマークダウンのハデな取り扱いができる環境ってのがある。 データ解析の記事を読んでたらjupyterlabってのがあるそうな。 なんちゅう便利さ。 図解!Jupyter Labを徹底解説!(インストール・使い方・拡張機能) - ビジPy ai-inter1.com 前はjupyter notebookで、jupyterlabが今は主流っぽい。 jupyterhubってのもあるらしいけど、複数人数利用のためのものっぽい。 学校とかが重宝するんかもしれんけど、自分はとりあえず使いたいのでjupyterlabでええ。 何年か前にlinux上でpythonはスクリプトを何度か見たけど、自分は去年にdjangoから入って、phpから改版したアプリ作ってdockerで動かして使ってる。 目的が決まってたからdjangoでええんやけど、最初の頃は配列の中が今はどうなってるんかなぁとか、どうやってweb画面にグラフ表示させるんかなぁって試行錯誤してた。 jupyter使えば一発で表示の練習はできる。 配列の中がどないな入り方してるのかとか見せてくれるし、マークダウン使えるみたいやから簡単なレポートなら作れるっぽい。 なんやねん、そんな便利なツールあるんや。 mariadbからデータ読み込ませたときに、行列ひっくり返さなあかんって、気づくのが早くなったかもしれんなぁ。 docker使ってやってる人おるなかって、探したらいた。 DockerでJupyterLabの環境を作ろう | インフォメーション・ディベロプメント www.idnet.co.jp 作者さんありがとう。 ソースはipynbって種類のテキストファイルを維持してくらしい。 どんなふうに永続化したらええのかがわかったので、自分でもやってみた。 dockerfileの読み替え 作者さんのページは1年前のもの。 docker使うしちょっとだけ新しくしてみる。 参考にさせてもらったdockerfileはFROM python:3.9.7-busterってあった。 busterってのはdebianのコード名。1つ前のバージョン。 debianのlinuxはコード名にディズニー映画「トイ・ストーリー」の登場人物の名前をつけてはる。 今の最新はbullseyeでアンディが乗ってる馬の名前ね。 dockerhubに公開されてるpythonイメージのタグが一覧になってる。 hub.docker.com busterをbullseyeに変更してFROM python:3.12.0a3-bullseyeにしてみたらdocker buildでコケた。 FROM python:3.11.1-bullseyeにしてみたらまたコケた。 FROM python:3.10.9-bullseyeもダメでFROM python:3.9.16-bullseyeにするとうまく行った。 用意したdockerfileはこうなった。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 FROM python:3.9.16-bullseye MAINTAINER "nari" ########################################################################################################### # jupyterlabの環境作成 ########################################################################################################### # パッケージの追加とタイムゾーンの設定 RUN apt-get update && apt-get install -y \ tzdata \ && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* ENV TZ=Asia/Tokyo # JupyterLab関連のパッケージ(いくつかの拡張機能を含む) RUN python3 -m pip install --upgrade pip \ && pip install --no-cache-dir \ black \ jupyterlab \ jupyterlab_code_formatter \ jupyterlab-git \ lckr-jupyterlab-variableinspector \ jupyterlab_widgets \ ipywidgets \ import-ipynb # 基本パッケージ # Pythonでよく利用する基本的なパッケージ RUN pip install --no-cache-dir \ scikit-learn \ numpy \ pandas \ scipy \ pycaret \ matplotlib \ japanize_matplotlib \ mlxtend \ seaborn \ plotly \ requests \ beautifulsoup4 \ Pillow \ opencv-python djangoのときみたいに、グラフに全角文字使いたくなったら、コンテナに日本語フォント入れたくなるんやけど、apt-getは最初はそのままにしといた。 ...