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 プロジェクトを新規作成する]]: 本ノートのノートブック単位の隔離型とは別の、プロジェクト型の運用方法