开发工具

>> 安装 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,并先查阅 MoneyPrinterTurbo 上游 GitHub Issues,再考虑改动 lockfile。