>> ImageMagickエラーと依存関係の修正:MoneyPrinterTurbo を uv sync --frozen でセットアップ(Windowsはワンクリック)
MoneyPrinterTurbo を clone したのにウィンドウが一瞬で閉じる、Streamlit が赤い traceback を出す、字幕で ImageMagick is not installed になる——そんなときは v1.2.7(2026年4月)以降の公式ルートである uv と uv sync --frozen を使います。
はじめに
ソースはあるが Python 環境が動いていない初心者向けです。Python 3.11、ロックファイルどおりの依存関係、ImageMagick の正しいバイナリパス、Streamlit Web UI の起動までを 7 ステップで説明します。
Windows のワンクリックパッケージはその OS で最速のお試しです。macOS / Linux では uv sync --frozen を第一選択にしてください。
Evals や Agent など広い AI スキルは 2026年に開発者が身につけるべき AI スキル を参照(本インストールとは独立)。
インストール経路の選択
| 経路 | 向いている人 | 所要 | ツール |
|---|---|---|---|
| Windows ワンクリック | Windows で最速デモ | 約10分 | 同梱バイナリ |
uv sync --frozen(本稿) | macOS / Linux / 手動 Windows | 約15–25分 | uv + uv.lock |
| Docker | 隔離環境 | 約15分 | docker compose |
アーキテクチャ
| コンポーネント | 役割 | ポート |
|---|---|---|
| Streamlit Web UI | ブラウザ操作 | 8501 |
| FastAPI | API(任意) | 8080 |
| ImageMagick | 字幕描画 | CLI |
| FFmpeg | 動画合成 | CLI |
config.toml の imagemagick_path が誤ると最初の字幕ジョブで即失敗します。
前提条件
- Git、uv、ImageMagick 7、FFmpeg
- Python 3.11(
uv.lockは>=3.11, <3.13) - Windows ではパスに非 ASCII(中国語フォルダ名など)を避ける
7ステップ手順
ステップ 1 — クローン
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
ステップ 2 — Python 3.11
uv python install 3.11
uv python list
ステップ 3 — uv sync --frozen
ロックファイルの厳密バージョンをインストール。初回は 40–90 秒程度のことも。
ステップ 4 — ImageMagick
macOS
brew install imagemagick → imagemagick_path = "/opt/homebrew/bin/magick"
Linux
sudo apt-get install -y imagemagick ffmpeg
Windows
ImageMagick の Q16-x64-static を既定フォルダにインストール。
ステップ 5 — policy.xml
not authorized 時は policy.xml で @* の read|write を許可。
ステップ 6 — Streamlit 起動
uv run streamlit run ./webui/Main.py --browser.gatherUsageStats=False --server.port 8501
ステップ 7 — スモークテスト
10–15 秒の短尺 MP4 で字幕を確認。
トラブルシュート
エラー A — 一瞬で閉じる
ターミナルから uv run streamlit run ./webui/Main.py を実行。
エラー B — ImageMagick 未検出
| 確認 | 操作 |
|---|---|
| バイナリ | magick -version |
| Windows パス | config.toml でバックスラッシュをエスケープ |
エラー C — UI が重い
初回コンパイル、FFmpeg 確認、RAM 8GB+、ポート 8502 へ変更を検討。
依存の更新
git pull 後は uv sync --frozen。ロック変更時のみ uv sync。
FAQ
uv sync --frozen とは?uv.lock の固定バージョンで .venv を再現します。
Windows で static ビルドが必要な理由?
MoviePy/字幕ツールとの互換のため upstream が Q16-x64-static を要求します。
pip は使える?
レガシー可。v1.2.7 以降は uv が主経路です。
ポート 8501 / 8080?
Streamlit 既定 8501、API は 8080。競合時は --server.port。
クラウド Mac は必須?
いいえ。ローカルで十分。RAM 不足時のみリモートで同じ uv コマンドを実行。
ワンクリック vs uv?
お試しはワンクリック、最新 main や macOS/Linux 公式フローは uv sync --frozen。