From 68614c982dbabc5df548812dc457b182f0dbb07f Mon Sep 17 00:00:00 2001 From: "alexei.dolgolyov" Date: Sat, 18 Apr 2026 19:49:09 +0300 Subject: [PATCH] fix(windows): keep required numpy submodules in build cleanup lib, linalg, ma, polynomial, fft, ctypeslib, matrixlib are imported unconditionally by numpy/__init__.py and must not be trimmed. --- build-common.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build-common.sh b/build-common.sh index a29f39a..1f9dd59 100644 --- a/build-common.sh +++ b/build-common.sh @@ -91,8 +91,11 @@ cleanup_site_packages() { find "$sp_dir" -name "*.pyi" -delete 2>/dev/null || true rm -rf "$sp_dir"/{pip,setuptools,pkg_resources,_distutils_hack}* 2>/dev/null || true - # Trim numpy if present - for mod in polynomial linalg ma lib distutils f2py typing _pyinstaller; do + # Trim numpy if present. + # Keep only modules that numpy/__init__.py does NOT import unconditionally — + # lib, linalg, ma, polynomial, fft, ctypeslib, matrixlib are all required for + # `import numpy` to succeed, so they MUST stay. + for mod in distutils f2py typing _pyinstaller; do rm -rf "$sp_dir/numpy/$mod" 2>/dev/null || true done