uvx を使用して marimo ノートブックを `--sandbox` フラグ付きで起動すると、ノートブックごとに独立した隔離環境で実行できる。
この環境では、ノートブック内の [PEP 723 – Inline script metadata](https://peps.python.org/pep-0723/) で宣言された依存関係のみがインストールされ、他のパッケージから完全に分離される。
```bash
uvx marimo edit --sandbox my_notebook.py
```
> [!tip]
> Raycast の [Script Commands](https://github.com/raycast/script-commands) と組み合わせると、[[ターミナル]]すら起動せずスタンドアロンの marimo ノートブックを開くことができる。
**e.g. Inline script metadata:**
```python
# /// script
# requires-python = ">=3.14"
# dependencies = [
# "requests==2.32.5",
# "rich==14.2.0",
# ]
# ///
```
## コマンドの動作
このコマンドは以下の処理を自動的に実行する。
1. 一時的な仮想環境を作成
2. marimo をその環境にインストール
3. ノートブックに記載された PEP 723 形式の依存関係をインストール
4. ノートブックを起動
## メリット
- **環境の分離**: 各ノートブックが独立した環境を持つため、環境汚染による不具合を防げる
- **再現性の保証**: 依存関係がノートブックファイルに直接記録されるため、数週間、数ヶ月後でも同じ環境で実行できる
- **共有の容易さ**: `requirements.txt` などの追加ファイルを用意せず、ノートブックファイル (`.py`) だけを共有すれば動作する
## 関連ノート
- **[前提]** [[uv を macOS にインストールする]]: 本ノートの uvx による sandbox 起動は uv が使える状態が前提
- **[対比]** [[uv で Python プロジェクトを新規作成する]]: 本ノートのノートブック単位の隔離型とは別の、プロジェクト型の運用方法