Jupyterのインストールのチートシート
概要
- 複数のPythonバイナリがある場合、Jupyterが正しくインストールされなかったり問題を起こすことがある
- 起動は
python3 -m jupyter labやpython3 -m notebookとすると、利用するPythonを明示できる
- 起動は
Poetry, uvで環境を分けてインストールする
$ uv init .
$ uv add jupyterlab nest-asyncio 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 python-dotenv loguru \
jedi-language-server jupytext \
theme-darcula catppuccin-jupyterlab jupyterlab-miami-nights jupyterlab-simpledark
$ uv run jupyter lab --port 20000 --ip '0.0.0.0' --ServerApp.disable_check_xsrf=True
$ systemd-run --user --scope -p MemoryMax=16G uv run jupyter lab --port 20000 --ip '0.0.0.0' --ServerApp.disable_check_xsrf=True # Linuxでリソースを制限する場合
その他のインストール方法
JupyterLab App
- 公式からインストーラをダウンロードしてインストール
- スタンドアロンでシステムとは別のPythonで動作する
brew経由
$ brew install jupyterlab
- システムのPythonで動作するJupyter
pip経由
$ python3 -m pip install jupyterlab
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 lab --port=<port-number>
- ポートがすでに使用済みだと別のポートが割り振られる
モジュールとして起動する
$ python3 -m jupyter lab
jupyterコマンドのPATHがおかしくなっているときに代替コマンドとして利用可能- ユーザー・スペースにPythonをインストールした際に発生しがちなトラブル
Jupyterでのモジュールインストール
pip, condaでのモジュールインストール
%pip install foo bar
- パス参照が異なることがあるため、
%を用い、!を使用しない
Jupyterがハングしたときの対応
ターミナルから強制再起動
$ pkill -f "python3 -m ipykernel_launcher"
- killしても自動でカーネルが再起動する
初期設定
設定ファイルのパス
~/.jupyter/jupyter_lab_config.pyまたは~/.jupyter/jupyter_server_config.py- 設定ファイルの生成:
jupyter lab --generate-config
設定項目の説明
c.ServerApp.ip = "<ip-address>"- IPアドレスの制限
"0.0.0.0"ですべてのアクセスを受け入れる
c.ServerApp.open_browser = <boolean>Falseで起動時にブラウザを立ち上げない
c.ServerApp.password = "<something-hash>"- パスワードのハッシュ値を入れる
- ※古いバージョン(Notebook v6以前)では
c.NotebookAppが使用されます。
設定の具体例
c.ServerApp.ip = "0.0.0.0"
c.ServerApp.open_browser = False
c.ServerApp.password = u"sha1:f1d4830a643a:4a247c958f7a5c2a9cd4ba5b419a09a76ae2bfaf"
c.ServerApp.port = 8888
パスワードのハッシュ値を作成する
JupyterLab / Jupyter Serverを使用する場合
In [1]: from jupyter_server.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
古いJupyter Notebook (v6以前)を使用する場合
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password: