From 41a9e97d5aba290cda2dce346f39da8bd02535e0 Mon Sep 17 00:00:00 2001 From: pvyazankin Date: Wed, 22 Apr 2026 18:21:25 +0200 Subject: [PATCH 1/3] Add cupy-cuda12x, nvidia-cuda-nvrtc-cu12, nvidia-cublas-cu12 to RAPIDS runenv. Update windows whitelists --- .../python-3.12.10-h5ad/windows-x64.json | 20 --------- .../python-3.12.10-rapids/windows-x64.json | 16 ------- .../python-3.12.10-sccoda/windows-x64.json | 29 ------------ .../python-3.12.10/windows-x64.json | 44 ------------------- 4 files changed, 109 deletions(-) diff --git a/checker/whitelists/python-3.12.10-h5ad/windows-x64.json b/checker/whitelists/python-3.12.10-h5ad/windows-x64.json index d6d5b4b..2c63c08 100644 --- a/checker/whitelists/python-3.12.10-h5ad/windows-x64.json +++ b/checker/whitelists/python-3.12.10-h5ad/windows-x64.json @@ -1,22 +1,2 @@ { - "charset_normalizer-3.*.whl": { - "81d243bd2c585b0f4821__mypyc": "invalid decimal literal" - }, - "matplotlib-3.*-cp312-cp312-win_amd64.whl": { - "matplotlib._c_internal_utils": "Could not determine home directory", - "matplotlib._image": "Could not determine home directory", - "matplotlib._path": "Could not determine home directory", - "matplotlib._qhull": "Could not determine home directory", - "matplotlib._tri": "Could not determine home directory", - "matplotlib.backends._backend_agg": "Could not determine home directory", - "matplotlib.backends._tkagg": "Could not determine home directory", - "matplotlib.ft2font": "Could not determine home directory" - }, - "numba-0.*-win_amd64.whl": { - "numba.np.ufunc.tbbpool": "DLL load failed while importing tbbpool: The specified module could not be found" - }, - "scipy-1.*-win_amd64.whl": { - "scipy.linalg._matfuncs_sqrtm_triu": "cannot import name 'within_block_loop' from partially initialized module", - "scipy.stats._unuran.unuran_wrapper": "module 'numpy.random.bit_generator' has no attribute 'SeedlessSequence'" - } } diff --git a/checker/whitelists/python-3.12.10-rapids/windows-x64.json b/checker/whitelists/python-3.12.10-rapids/windows-x64.json index 56148d9..2c63c08 100644 --- a/checker/whitelists/python-3.12.10-rapids/windows-x64.json +++ b/checker/whitelists/python-3.12.10-rapids/windows-x64.json @@ -1,18 +1,2 @@ { - "charset_normalizer-3.*.whl": { - "81d243bd2c585b0f4821__mypyc": "invalid decimal literal" - }, - "numba-0.*-win_amd64.whl": { - "numba.np.ufunc.tbbpool": "DLL load failed while importing tbbpool: The specified module could not be found" - }, - "scipy-1.*-win_amd64.whl": { - "scipy.linalg._matfuncs_sqrtm_triu": "cannot import name 'within_block_loop' from partially initialized module", - "scipy.stats._unuran.unuran_wrapper": "module 'numpy.random.bit_generator' has no attribute 'SeedlessSequence'" - }, - "rpy2_rinterface-3.*.whl": { - "_rinterface_cffi_api": "DLL load failed while importing _rinterface_cffi_api: The specified module could not be found." - }, - "torch-2.7.0+cpu-cp312-cp312-win_amd64.whl": { - "functorch._C": "initialization failed" - } } diff --git a/checker/whitelists/python-3.12.10-sccoda/windows-x64.json b/checker/whitelists/python-3.12.10-sccoda/windows-x64.json index 1284759..2c63c08 100644 --- a/checker/whitelists/python-3.12.10-sccoda/windows-x64.json +++ b/checker/whitelists/python-3.12.10-sccoda/windows-x64.json @@ -1,31 +1,2 @@ { - "matplotlib-3.*-cp312-cp312-win_amd64.whl": { - "matplotlib._c_internal_utils": "Could not determine home directory", - "matplotlib._image": "Could not determine home directory", - "matplotlib._path": "Could not determine home directory", - "matplotlib._qhull": "Could not determine home directory", - "matplotlib._tri": "Could not determine home directory", - "matplotlib.backends._backend_agg": "Could not determine home directory", - "matplotlib.backends._tkagg": "Could not determine home directory", - "matplotlib.ft2font": "Could not determine home directory" - }, - "numpy-1.26.4-cp312-cp312-win_amd64.whl": { - "numpy.core._umath_tests": "cannot load _umath_tests module" - }, - "numba-0.*-win_amd64.whl": { - "numba.np.ufunc.tbbpool": "DLL load failed while importing tbbpool: The specified module could not be found" - }, - "rpy2_rinterface-3.*.whl": { - "_rinterface_cffi_api": "DLL load failed while importing _rinterface_cffi_api: The specified module could not be found" - }, - "charset_normalizer-3.*.whl": { - "81d243bd2c585b0f4821__mypyc": "invalid decimal literal" - }, - "scipy-1.*-win_amd64.whl": { - "scipy.linalg._matfuncs_sqrtm_triu": "cannot import name 'within_block_loop' from partially initialized module", - "scipy.stats._unuran.unuran_wrapper": "module 'numpy.random.bit_generator' has no attribute 'SeedlessSequence'" - }, - "tensorflow-2.*.whl": { - "tensorflow.lite.python._pywrap_tensorflow_lite_metrics_wrapper": "generic_type: type \"MetricsWrapper\" is already registered" - } } diff --git a/checker/whitelists/python-3.12.10/windows-x64.json b/checker/whitelists/python-3.12.10/windows-x64.json index 178197c..2c63c08 100644 --- a/checker/whitelists/python-3.12.10/windows-x64.json +++ b/checker/whitelists/python-3.12.10/windows-x64.json @@ -1,46 +1,2 @@ { - "matplotlib-3.*-win_amd64.whl": { - "matplotlib._c_internal_utils": "Could not determine home directory", - "matplotlib._image": "Could not determine home directory", - "matplotlib._path": "Could not determine home directory", - "matplotlib._qhull": "Could not determine home directory", - "matplotlib._tri": "Could not determine home directory", - "matplotlib.backends._backend_agg": "Could not determine home directory", - "matplotlib.backends._tkagg": "Could not determine home directory", - "matplotlib.ft2font": "Could not determine home directory" - }, - "numba-0.*-win_amd64.whl": { - "numba.np.ufunc.tbbpool": "DLL load failed while importing tbbpool: The specified module could not be found" - }, - "rpy2_rinterface-3.*.whl": { - "_rinterface_cffi_api": "DLL load failed while importing _rinterface_cffi_api: The specified module could not be found" - }, - "charset_normalizer-3.*.whl": { - "81d243bd2c585b0f4821__mypyc": "invalid decimal literal" - }, - "scipy-1.*-win_amd64.whl": { - "scipy.linalg._matfuncs_sqrtm_triu": "cannot import name 'within_block_loop' from partially initialized module", - "scipy.stats._unuran.unuran_wrapper": "module 'numpy.random.bit_generator' has no attribute 'SeedlessSequence'" - }, - "torch-2.7.0+cpu-cp312-cp312-win_amd64.whl": { - "functorch._C": "initialization failed" - }, - "torch-2.9.1+cpu-cp312-cp312-win_amd64.whl": { - "functorch._C": "initialization failed" - }, - "tensorflow-2.*.whl": { - "tensorflow.lite.python._pywrap_tensorflow_lite_metrics_wrapper": "generic_type: type \"MetricsWrapper\" is already registered" - }, - "torchaudio-2.7.0+cpu-cp312-cp312-win_amd64.whl": { - "torio.lib._torio_ffmpeg4": "DLL load failed while importing _torio_ffmpeg4: The specified module could not be found", - "torio.lib._torio_ffmpeg5": "DLL load failed while importing _torio_ffmpeg5: The specified module could not be found", - "torio.lib._torio_ffmpeg6": "DLL load failed while importing _torio_ffmpeg6: The specified module could not be found", - "torio.lib.libtorio_ffmpeg4": "DLL load failed while importing libtorio_ffmpeg4: The specified module could not be found", - "torio.lib.libtorio_ffmpeg5": "DLL load failed while importing libtorio_ffmpeg5: The specified module could not be found", - "torio.lib.libtorio_ffmpeg6": "DLL load failed while importing libtorio_ffmpeg6: The specified module could not be found" - }, - "torchvision-0.22.0+cpu-cp312-cp312-win_amd64.whl": { - "torchvision._C": "initialization of _C failed without raising an exception", - "torchvision.image": "initialization of image failed without raising an exception" - } } From e21c5a893269dff18d627133e8ee1c225f8d7b2b Mon Sep 17 00:00:00 2001 From: pvyazankin Date: Wed, 22 Apr 2026 18:33:20 +0200 Subject: [PATCH 2/3] Pin virtualenv==21.2.1 to fix Windows builds > Fix "Failed to create virtual environment" on all Windows CI builds virtualenv was unpinned, and 21.2.4 (released between April 10-22) breaks the virtualenv->venv copy trick used for embedded Python. All Windows checker jobs fail: venv creation silently exits non-zero. Pinning to 21.2.1 (last known working version). --- builder/src/windows.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/builder/src/windows.ts b/builder/src/windows.ts index 6781652..5718356 100644 --- a/builder/src/windows.ts +++ b/builder/src/windows.ts @@ -78,7 +78,9 @@ import site await fixPipRegistryIssue(path.join(pyBinRoot, 'Lib', 'site-packages', 'pip')); // Install rest of the packages required in all environments - await util.runCommand(pythonExe, ['-m', 'pip', 'install', 'virtualenv', 'wheel']); + // Pin virtualenv: 21.2.4 breaks the virtualenv->venv copy trick on embedded Python + // (venv creation silently fails with non-zero exit code). + await util.runCommand(pythonExe, ['-m', 'pip', 'install', 'virtualenv==21.2.1', 'wheel']); // We have to patch pip embedded into venv package: const venvEmbeddedWheelsDir = path.join(pyBinRoot, 'Lib', 'site-packages', 'virtualenv', 'seed', 'wheels', 'embed'); From 4be985701cc5111b04853127659a316a9bc8f3ba Mon Sep 17 00:00:00 2001 From: pvyazankin Date: Wed, 22 Apr 2026 19:17:23 +0200 Subject: [PATCH 3/3] Restore Windows whitelists from CI output > Restore whitelist entries that were accidentally cleared The previous commit emptied all Windows whitelist files, but these contain known import failures (matplotlib home dir, numba tbbpool, scipy circular import, etc.) that are expected on embedded Python. Rebuilt from actual CI checker output with glob patterns. --- .../python-3.12.10-h5ad/windows-x64.json | 16 ++++++++ .../python-3.12.10-rapids/windows-x64.json | 9 +++++ .../python-3.12.10-sccoda/windows-x64.json | 25 +++++++++++++ .../python-3.12.10/windows-x64.json | 37 +++++++++++++++++++ 4 files changed, 87 insertions(+) diff --git a/checker/whitelists/python-3.12.10-h5ad/windows-x64.json b/checker/whitelists/python-3.12.10-h5ad/windows-x64.json index 2c63c08..0511d14 100644 --- a/checker/whitelists/python-3.12.10-h5ad/windows-x64.json +++ b/checker/whitelists/python-3.12.10-h5ad/windows-x64.json @@ -1,2 +1,18 @@ { + "matplotlib-3.*-cp312-cp312-win_amd64.whl": { + "matplotlib._c_internal_utils": "Could not determine home directory", + "matplotlib._image": "Could not determine home directory", + "matplotlib._path": "Could not determine home directory", + "matplotlib._qhull": "Could not determine home directory", + "matplotlib._tri": "Could not determine home directory", + "matplotlib.backends._backend_agg": "Could not determine home directory", + "matplotlib.backends._tkagg": "Could not determine home directory", + "matplotlib.ft2font": "Could not determine home directory" + }, + "numba-0.*-win_amd64.whl": { + "numba.np.ufunc.tbbpool": "DLL load failed while importing tbbpool: The specified module could not be found" + }, + "scipy-1.*-win_amd64.whl": { + "scipy.linalg._matfuncs_sqrtm_triu": "cannot import name 'within_block_loop' from partially initialized module" + } } diff --git a/checker/whitelists/python-3.12.10-rapids/windows-x64.json b/checker/whitelists/python-3.12.10-rapids/windows-x64.json index 2c63c08..a214f4a 100644 --- a/checker/whitelists/python-3.12.10-rapids/windows-x64.json +++ b/checker/whitelists/python-3.12.10-rapids/windows-x64.json @@ -1,2 +1,11 @@ { + "numba-0.*-win_amd64.whl": { + "numba.np.ufunc.tbbpool": "DLL load failed while importing tbbpool: The specified module could not be found" + }, + "scipy-1.*-win_amd64.whl": { + "scipy.linalg._matfuncs_sqrtm_triu": "cannot import name 'within_block_loop' from partially initialized module" + }, + "torch-2.7.0+cpu-cp312-cp312-win_amd64.whl": { + "functorch._C": "initialization failed" + } } diff --git a/checker/whitelists/python-3.12.10-sccoda/windows-x64.json b/checker/whitelists/python-3.12.10-sccoda/windows-x64.json index 2c63c08..95876ef 100644 --- a/checker/whitelists/python-3.12.10-sccoda/windows-x64.json +++ b/checker/whitelists/python-3.12.10-sccoda/windows-x64.json @@ -1,2 +1,27 @@ { + "charset_normalizer-3.*.whl": { + "81d243bd2c585b0f4821__mypyc": "invalid decimal literal" + }, + "matplotlib-3.*-cp312-cp312-win_amd64.whl": { + "matplotlib._c_internal_utils": "Could not determine home directory", + "matplotlib._image": "Could not determine home directory", + "matplotlib._path": "Could not determine home directory", + "matplotlib._qhull": "Could not determine home directory", + "matplotlib._tri": "Could not determine home directory", + "matplotlib.backends._backend_agg": "Could not determine home directory", + "matplotlib.backends._tkagg": "Could not determine home directory", + "matplotlib.ft2font": "Could not determine home directory" + }, + "numpy-1.26.4-cp312-cp312-win_amd64.whl": { + "numpy.core._umath_tests": "cannot load _umath_tests module" + }, + "numba-0.*-win_amd64.whl": { + "numba.np.ufunc.tbbpool": "DLL load failed while importing tbbpool: The specified module could not be found" + }, + "rpy2_rinterface-3.*.whl": { + "_rinterface_cffi_api": "DLL load failed while importing _rinterface_cffi_api: The specified module could not be found" + }, + "scipy-1.*-win_amd64.whl": { + "scipy.linalg._matfuncs_sqrtm_triu": "cannot import name 'within_block_loop' from partially initialized module" + } } diff --git a/checker/whitelists/python-3.12.10/windows-x64.json b/checker/whitelists/python-3.12.10/windows-x64.json index 2c63c08..86960a2 100644 --- a/checker/whitelists/python-3.12.10/windows-x64.json +++ b/checker/whitelists/python-3.12.10/windows-x64.json @@ -1,2 +1,39 @@ { + "charset_normalizer-3.*.whl": { + "81d243bd2c585b0f4821__mypyc": "invalid decimal literal" + }, + "matplotlib-3.*-cp312-cp312-win_amd64.whl": { + "matplotlib._c_internal_utils": "Could not determine home directory", + "matplotlib._image": "Could not determine home directory", + "matplotlib._path": "Could not determine home directory", + "matplotlib._qhull": "Could not determine home directory", + "matplotlib._tri": "Could not determine home directory", + "matplotlib.backends._backend_agg": "Could not determine home directory", + "matplotlib.backends._tkagg": "Could not determine home directory", + "matplotlib.ft2font": "Could not determine home directory" + }, + "numba-0.*-win_amd64.whl": { + "numba.np.ufunc.tbbpool": "DLL load failed while importing tbbpool: The specified module could not be found" + }, + "rpy2_rinterface-3.*.whl": { + "_rinterface_cffi_api": "DLL load failed while importing _rinterface_cffi_api: The specified module could not be found" + }, + "scipy-1.*-win_amd64.whl": { + "scipy.linalg._matfuncs_sqrtm_triu": "cannot import name 'within_block_loop' from partially initialized module" + }, + "torch-2.7.0+cpu-cp312-cp312-win_amd64.whl": { + "functorch._C": "initialization failed" + }, + "torchaudio-2.7.0+cpu-cp312-cp312-win_amd64.whl": { + "torio.lib._torio_ffmpeg4": "DLL load failed while importing _torio_ffmpeg4: The specified module could not be found", + "torio.lib._torio_ffmpeg5": "DLL load failed while importing _torio_ffmpeg5: The specified module could not be found", + "torio.lib._torio_ffmpeg6": "DLL load failed while importing _torio_ffmpeg6: The specified module could not be found", + "torio.lib.libtorio_ffmpeg4": "DLL load failed while importing libtorio_ffmpeg4: The specified module could not be found", + "torio.lib.libtorio_ffmpeg5": "DLL load failed while importing libtorio_ffmpeg5: The specified module could not be found", + "torio.lib.libtorio_ffmpeg6": "DLL load failed while importing libtorio_ffmpeg6: The specified module could not be found" + }, + "torchvision-0.22.0+cpu-cp312-cp312-win_amd64.whl": { + "torchvision._C": "initialization of _C failed without raising an exception", + "torchvision.image": "initialization of image failed without raising an exception" + } }