Jupyter Notebookの環境構築とカスタマイズ

Jupyterと拡張機能のインストール

Jupyter Notebookと便利な拡張機能をインストールする手順です。以下のコマンドを実行してください。

# Jupyter本体のインストール
python -m pip install jupyterlab

# 拡張機能のインストール
python -m pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

# 拡張機能設定ツールのインストール
python -m pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user

インストール後、Jupyterを起動してNbextensionsタブが表示されているか確認してください。表示されない場合は、依存関係のバージョン競合が考えられます。

UIテーマのカスタマイズ

デフォルトの見た目をカスタマイズするには、カスタムCSSファイルを編集します。設定ファイルは ~/.jupyter/custom/custom.css にあります。以下はおすすめのスタイル設定です。

/* ノートブック全体のフォント設定 */
#notebook-container {
    font-family: 'Fira Code', 'Source Code Pro', monospace;
    line-height: 1.6;
}

/* Markdown見出しのスタイル */
.rendered_html h1 {
    color: #2c3e50;
    border-bottom: 2px solid #3498db;
    padding-bottom: 10px;
}

.rendered_html h2 {
    color: #34495e;
    border-left: 4px solid #3498db;
    padding-left: 10px;
}

/* コードセルのハイライト */
.CodeMirror {
    font-family: 'Fira Code', monospace;
    font-size: 14px;
}

.cm-keyword { color: #e74c3c; font-weight: bold; }
.cm-string { color: #27ae60; }
.cm-number { color: #f39c12; }
.cm-comment { color: #95a5a6; font-style: italic; }

/* 出力結果のスタイル */
.output_area pre {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 10px;
}

/* データフレームの表示スタイル */
.dataframe thead th {
    background-color: #3498db;
    color: white;
    font-weight: bold;
}

.dataframe tbody tr:nth-child(even) {
    background-color: #f2f2f2;
}

リモートアクセスの設定

サーバーでJupyterを実行する場合の設定方法です。

まず、設定ファイルを生成します:

jupyter lab --generate-config

次に、パスワードを生成します:

In [1]: from notebook.auth import passwd

In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:your_hashed_password_here'

生成された設定ファイル(~/.jupyter/jupyter_lab_config.py)を以下のように編集します:

c.ServerApp.allow_remote_access = True
c.ServerApp.allow_root = True
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.port = 8888
c.ServerApp.password = 'sha1:your_hashed_password_here'
c.ServerApp.notebook_dir = '/path/to/your/notebooks'
c.ServerApp.open_browser = False

推奨拡張機能

以下の拡張機能を有効にすると、開発効率が向上します:

  • Table of Contents: 自動目次生成
  • Code Folding: コードの折りたたみ
  • Autopep8: コードの自動整形
  • ExecuteTime: セル実行時間の表示
  • Variable Inspector: 変数内容の確認
  • Hinterland: コード補完の強化
  • Snippets Menu: コードスニペットの挿入

トラブルシューティング

一般的な問題と解決方法:

Q: 拡張機能が有効化されない
A: Jupyter Labと拡張機能のバージョン互換性を確認してください。必要に応じてバージョンを調整します:

pip install "jupyterlab~=3.0"
pip install "jupyter_contrib_nbextensions<0.7.0"

Q: リモートアクセス時に接続拒否される
A: ファイアウォール設定とIPバインドを確認してください。以下のコマンドでポートを開放します:

# Ubuntu/Debian
sudo ufw allow 8888

# CentOS/RHEL
sudo firewall-cmd --add-port=8888/tcp --permanent
sudo firewall-cmd --reload

タグ: jupyter Python notebook 環境構築 カスタマイズ

5月23日 07:03 投稿