開發工具

>> 安裝 ImageMagick 又報錯閃退?用 2026 最新 uv sync --frozen 跑通 MoneyPrinterTurbo 避坑指南

你 clone 了 MoneyPrinterTurbo,结果視窗一闪就关、Streamlit 紅字報錯,或字幕阶段提示 ImageMagick is not installed。自 v1.2.7(2026 年 4 月)起,專案以 uvpyproject.tomluv.lock 為主,在 macOS / Linux 上推薦 uv sync --frozen 安裝依賴。

MoneyPrinterTurbo uv sync frozen 與 ImageMagick 路徑設定
揭露: 本文由 SlimVps 編輯團隊发布。SlimVps 提供雲 Mac 租用服務;MoneyPrinterTurbo 为 harry0703 独立开來源專案,與 SlimVps 無隶属关系。

簡介

本文面向已有來源码壓縮包、但 Python 環境尚未跑通的新手:安裝正确 Python 版本、按維護者鎖定的依賴同步、把 ImageMagick 指到正确二進位,再启动 Web UI。

Windows 一键包仍是该平台上最快的試用方式;macOS / Linux 請以 uv sync --frozen 為主流程,與 v1.2.7 測試过的 lockfile 一致。

若你在搭建更广泛的 AI 自动化能力(评测、Agent),可参考 2026 开发者必備的 AI 技能——與本文安裝步驟正交。

選擇安裝路徑

路徑適合人群耗時依賴工具
Windows 一键包Windows 上最快演示约 10 分钟捆綁二進位
uv sync --frozen(本文)macOS / Linux / 动手型 Windows约 15–25 分钟uv + uv.lock
Docker隔離環境约 15 分钟docker compose

macOS / Linux 请用 uv sync --frozen Windows 可先一键包;需要最新 main 或自訂 config.toml 时再切到 uv

架構:安裝後跑什么

元件作用預設連接埠
Streamlit Web UI瀏覽器控制台8501
FastAPI(main.pyAPI 服務(可選)8080
ImageMagick字幕/标题渲染CLI(magick
FFmpeg影片合成CLI

設定檔:專案根目錄 config.toml,新手關鍵字段:

imagemagick_path = "C:\\Program Files\\ImageMagick-7.1.1-Q16\\magick.exe" # Windows 範例 # macOS/Linux 常見:"/opt/homebrew/bin/magick" 或 "/usr/bin/magick"

資料流:Web UI → Python 服務 → ImageMagick 绘字 → FFmpeg 混流。imagemagick_path 設錯會在第一次字幕任務即失敗。

前置條件

  1. 已安裝 Gitgit --version)。
  2. 已安裝 uvAstral uv 文件):
    curl -LsSf https://astral.sh/uv/install.sh | sh # 或:pip install uv
  3. ImageMagick 7(Windows 需 static 版,見步驟 4)。
  4. FFmpeg 在 PATH 上(ffmpeg -version)。
  5. Windows 上專案路徑勿含中文(上游警告非 ASCII 路徑會導致不可預期失敗)。

Python 版本:3.11uv.lock 要求 >=3.11, <3.13)。

七步跑通手冊

步驟 1 — 複製并進入專案根目錄

git clone https://github.com/harry0703/MoneyPrinterTurbo.git cd MoneyPrinterTurbo pwd # 必須以 MoneyPrinterTurbo 結尾

通過: 能看到 pyproject.tomluv.lockconfig.tomlwebui/Main.py

步驟 2 — 用 uv 安裝 Python 3.11

uv python install 3.11 uv python list

通過: 清單中有 3.11.x

步驟 3 — 同步依賴(凍結鎖)

uv sync --frozen

為何 --frozenuv.lock 安裝精確版本,與 v1.2.7 維護者測試集一致;不凍結时解析器漂移可能破壞 Edge TTS 或影片管線 pin。

典型耗時:快取命中时 40–90 秒;首次更久。

通過: 結束碼 0,存在 .venv

步驟 4 — 安裝並設定 ImageMagick

macOS

brew install imagemagick which magick || which convert

config.toml 中設定:

imagemagick_path = "/opt/homebrew/bin/magick"

(Intel Mac 可能為 /usr/local/bin/magick。)

Linux

sudo apt-get update && sudo apt-get install -y imagemagick ffmpeg which magick

Windows

  1. ImageMagick 下載頁 取得 Q16-x64-static 安裝包,檔名須含 static
  2. 安裝到 C:\Program Files\ 預設路徑,勿改安裝目錄
  3. 編輯 config.toml

imagemagick_path = "C:\\Program Files\\ImageMagick-7.1.1-Q16\\magick.exe"

驗證:

& "C:\Program Files\ImageMagick-7.1.1-Q16\magick.exe" -version

步驟 5 — 修復 ImageMagick 原則(字幕失敗时)

特徵: 報錯含 not authorizedsecurity policy

編輯 policy.xml(Linux 常見 /etc/ImageMagick-6/policy.xml/etc/ImageMagick-7/policy.xml):

<policy domain="path" rights="read|write" pattern="@*" />

修改後重新啟動應用程式。

步驟 6 — 启动 Streamlit Web UI

僅在專案根目錄執行:

uv run streamlit run ./webui/Main.py --browser.gatherUsageStats=False --server.port 8501

開啟 http://localhost:8501。首次載入可能需 30–60 秒 編譯匯入。

可選 API 模式:uv run python main.py

步驟 7 — 長時間轉檔前冒煙測試

  1. 使用短文案(2–3 句)。
  2. 選一個影片來源(Pexels/Pixabay,必要時在 config.toml 填 API Key)。
  3. 生成 10–15 秒 樣片。
  4. storage/ 或 UI 提示路徑確認輸出。

通過: MP4 可播放且字幕可讀。失敗: 儲存完整終端機 traceback,不要只截閃退視窗。

排錯

錯誤 A — 雙擊後視窗閃退

特徵: 雙擊 start.batpython,控制台一秒消失。

修復: 在終端機執行以保留錯誤信息:

cd /path/to/MoneyPrinterTurbo uv run streamlit run ./webui/Main.py --browser.gatherUsageStats=False

Windows:Win+Rcmdcd 到專案 → 同上指令。

錯誤 B — ImageMagick is not installed

檢查項指令/操作
二進位存在magick -version 或步驟 4 路徑
Windows config.toml 使用双反斜杠用編輯器開啟確認
安裝/專案路徑無中文移到如 C:\dev\MoneyPrinterTurbo

錯誤 C — Streamlit 能開但卡頓/假死

  • 關閉其他重負載應用程式;首次執行会編譯快取。
  • 確認 ffmpeg -version 正常。
  • 降低 UI 並行任務;建議 8GB+ 記憶體。
  • 連接埠衝突時用 --server.port 8502

uv run streamlit run ./webui/Main.py --server.port 8502 --browser.gatherUsageStats=False

何時更新依賴

git pull 後執行 uv sync --frozen。若 lock 已變且 --frozen 失敗,再執行 uv sync(僅在你主動接受解析器升級时)。

常見问题

uv sync --frozen 对 MoneyPrinterTurbo 做什麼?
uv.lock 精確版本 建立/更新 .venv,與 v1.2.7 維護者測試環境一致,比未 pin 的 pip install 更快、更可重現。

Windows 為何必須用 static 版 ImageMagick?
上游要求 Q16-x64-static,以符合 MoviePy/字幕工具鏈;動態版常在執行时崩潰。

能否用 pip install -r requirements.txt
舊流程可用,但 v1.2.7 起以 pyproject.toml + uv.lock 為主;macOS/Linux 優先 uv sync --frozen

為何 Streamlit 用 8501 連接埠?
Streamlit 預設連接埠;API 模式常用 8080,請確保連接埠未被占用或用 --server.port 改對應。

必須用雲 Mac 吗?
不必。本機具備 Python 3.11、ImageMagick、FFmpeg 即可;僅当本機記憶體/磁盘不足做影片任務时,可在遠端 Mac 上執行相同 uv 指令。

一键包 vs uv 怎麼選?
Windows 快速試用選一键包;要最新代码、自訂設定或 macOS/Linux 官方流程選 uv sync --frozen(見專案 README)。

// SYS.CTA

手冊後仍失敗?

請儲存完整終端機 traceback,並先查閱上游 GitHub Issues。