From c27c6ebda96d70872dd1633d36ef5a7233eabc13 Mon Sep 17 00:00:00 2001 From: shy3130 <415333856@qq.com> Date: Wed, 24 Jun 2026 15:14:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20macOS=20=E5=9B=BE=E6=A0=87=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=98=BE=E5=BC=8F=E5=AE=89=E8=A3=85=20Pillow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI 上 uv sync --no-dev --extra desktop 不装 Pillow (它属于 backtest 的 matplotlib 依赖链, 非 desktop 运行时依赖), 导致 generate_icon.py 报 'No module named PIL'。本地能跑是因 venv 残留历史依赖, 属偶然不可靠。 显式 uv pip install pillow 再生成图标。 --- .github/workflows/release.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6db282c..f6740d8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -114,10 +114,13 @@ jobs: - name: 生成 macOS 图标 (仅 macOS) if: matrix.platform == 'macos' # icon.ico 已入库 (Windows 直接用), 但 icon.icns 未入库 (macOS 专用产物)。 - # 用 backend venv 里的 Pillow (fastexcel/pandas 传递依赖, 无需额外安装) - # 现场生成 icon.icns, 否则 spec 第 37 行 BUNDLE 会因找不到图标而崩。 + # 用 generate_icon.py 现场生成, 否则 spec 第 37 行 BUNDLE 会因找不到图标而崩。 + # 注意: Pillow 不是 backend 的运行时依赖 (它属于 backtest 的 matplotlib 链), + # --no-dev --extra desktop 不装它, 故需在此显式安装 (仅图标生成需要)。 working-directory: backend - run: uv run python ../packaging/generate_icon.py + run: | + uv pip install pillow + uv run python ../packaging/generate_icon.py - name: 打包 (PyInstaller) # 在 backend 目录跑 (用该目录的 venv: pywebview/polars 等), 但产物输出到