• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

jupyter install

date: 2022-09-21 excerpt: jupyterのinstallのチートシート

tag: jupyter


jupyterのinstallのチートシート

概要

  • 複数のpythonのバイナリがある場合、jupyterが正しくインストールされなかったり、問題を起こすことがある
    • jupyterの起動の際にpython3 -m jupyter lab, python3 -m notebookで起動すると明示的に起動するバイナリが指定しやすい

poetry, rye, uvで環境を分けてインストールする

  • システムのpythonではライブラリの不整合が起こることがあり、/poetry/など環境を分割できるソフトウェアを用いると安全
$ rye init .
$ rye add jupyterlab tqdm pandas seaborn scikit-learn ipywidgets joblib sortedcontainers \
    scipy lightgbm \
    pydata-google-auth google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client google-cloud-bigquery \
    pandas-gbq japanize-matplotlib \
    db-dtypes google-cloud-bigquery-storage neovim pip pyright google-cloud-secret-manager \
    openai tiktoken spacy requests jinja2 gspread \
    jedi_language_server \
    theme-darcula catppuccin-jupyterlab jupyterlab-miami-nights jupyterlab-simpledark
$ rye run jupyter lab --port 20000 --ip '0.0.0.0'
$ systemd-run --user --scope -p MemoryMax=16G jupyter lab --port 20000 --ip '0.0.0.0' # linuxでリソースを制限する場合

その他のインストール

jupyterlab app

  • 公式からインストーラをダウンロードしてインストール
  • スタンドアロンでシステムとは別のpythonで動作する

brew経由

$ brew install jupyterlab
  • システムのpythonで動作するjupyter

pip経由

$ python3 -m pip install jupyter

dockerを利用

$ docker run -v $PWD/work:/home/jovyan -p 8888:8888 jupyter/scipy-notebook start-notebook.sh --NotebookApp.password="sha1:116ece6dcb3a:b8ce5afba56836dd6ba3f4e17405bc5064a630cd"
  • dockerのデフォルトユーザはjovyan
  • pipでjupyterをインストールするより安定する
  • Jupyter Docker Stacks

起動オプション

ポートを指定して起動する

$ jupyter notebook --port=<port-number>
  • ポートがすでに使用済みだと別のポートが割り振られる

モジュールとして起動する

$ python3 -m notebook
  • jupyterコマンドのPATHがおかしくなっているときに代替コマンドとして利用可能
    • ユーザスペースにpythonをインストールした際に発生しがちのトラブル

jupyterへモジュールのインストール

pip, condaでのモジュールインストール

%pip install foo bar
  • パス参照が異なることがあるため、%を用い、!を使用しない

jupyterがハングしたときの対応

ターミナルから強制再起動

$ pkill -f "python3 -m ipykernel_launcher"
  • killしても自動でカーネルがふたたび立ち上がる

初期設定

設定ファイルのパス

  • ~/.jupyter/jupyter_notebook_config.py

設定項目の説明

  • c.NotebookApp.ip = "<ip-address>"
    • IPアドレスの制限
    • "0.0.0.0"ですべてのアクセスを受け入れる
  • c.NotebookApp.open_browser = <boolean>
    • Falseで起動時にブラウザを立ち上げない
  • c.NotebookApp.password = "<something-hash>"
    • パスワードのハッシュ値を入れる

設定の具体例

c.NotebookApp.ip = "0.0.0.0"
c.NotebookApp.open_browser = False
c.NotebookApp.password = u"sha1:f1d4830a643a:4a247c958f7a5c2a9cd4ba5b419a09a76ae2bfaf"
c.NotebookApp.port = 8888

パスワードのhash値を作成する

ipythonを使用する場合

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

jupyterを使用する場合

In [1]: from IPython.lib import passwd
In [2]: passwd()
Enter password:
Verify password:
  • 参考
    • Running a notebook server


jupyter Share Tweet