From 84500401e7904dd18511c34851641322a4ae2942 Mon Sep 17 00:00:00 2001 From: "alexei.dolgolyov" Date: Tue, 7 Apr 2026 22:35:24 +0300 Subject: [PATCH] fix(ci): move pystray to VIS_DEPS so its Pillow resolves with core pystray in WIN_DEPS (per-dep loop) downloaded its own Pillow version, which overwrote the one resolved alongside CORE_DEPS during unzip. Result at runtime: '_imaging extension was built for another version of Pillow'. Move pystray into VIS_DEPS so it's resolved in the single cross-deps pip-download call and shares one consistent Pillow version. --- build-dist-windows.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/build-dist-windows.sh b/build-dist-windows.sh index e17d39f..f7973f2 100644 --- a/build-dist-windows.sh +++ b/build-dist-windows.sh @@ -67,13 +67,17 @@ WIN_DEPS=( "pycaw>=20230407" "screen-brightness-control>=0.20.0" "monitorcontrol>=3.0.0" - "pystray>=0.19.0" ) # Visualizer dependencies VIS_DEPS=( "soundcard>=0.4.0" "numpy>=1.24.0,<2.0" + # pystray lives here (not WIN_DEPS) so its transitive Pillow resolves in the + # same pass as CORE_DEPS. Keeping it in the per-dep WIN_DEPS loop downloaded + # a second Pillow version that clobbered the core one on unzip, producing + # "_imaging extension was built for another version of Pillow" at runtime. + "pystray>=0.19.0" ) # Resolve core + visualizer deps in a SINGLE call so pip picks compatible