Main branch, though this probably affects all recent versions.
Windows 11, VS2026, Python 3.11.
$ ctest -C RelWithDebInfo -VV --rerun-failed
UpdateCTestConfiguration from :C:/Misc/ITK-patches-rel-vs26/DartConfiguration.tcl
Parse Config file:C:/Misc/ITK-patches-rel-vs26/DartConfiguration.tcl
Test project C:/Misc/ITK-patches-rel-vs26
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 3126
Start 3126: PythonFindEmptyClasses
3126: Test command: C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\itkTestDriver.exe "--add-before-env" "PYTHONPATH" "C:/Misc/ITK-patches-rel-vs26/Wrapping/Generators/Python" "--add-before-env" "PYTHONPATH" "C:/Misc/ITK-patches-rel-vs26/Wrapping/Generators/Python/itk" "--add-before-libpath" "C:/Misc/ITK-patches-rel-vs26/Wrapping/Generators/Python/itk" "C:/Program Files/Python311/python.exe" "C:/Misc/ITK-patches-rel/Wrapping/Generators/Python/Tests/findEmptyClasses.py"
3126: Working Directory: C:/Misc/ITK-patches-rel/Wrapping/Generators/Python/Tests
3126: Test timeout computed to be: 1500
3126: Loading ITKPyBase... done
3126: Loading ITKCommon... Traceback (most recent call last):
3126: File "C:\Misc\ITK-patches-rel\Wrapping\Generators\Python\Tests\findEmptyClasses.py", line 25, in <module>
3126: itk.force_load()
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\support\init_helpers.py", line 116, in force_load
3126: getattr(itk, k)
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\support\lazy.py", line 137, in __getattribute__
3126: base.itk_load_swig_module(module, namespace)
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\support\base.py", line 95, in itk_load_swig_module
3126: itk_load_swig_module(dep, namespace)
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\support\base.py", line 95, in itk_load_swig_module
3126: itk_load_swig_module(dep, namespace)
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\support\base.py", line 95, in itk_load_swig_module
3126: itk_load_swig_module(dep, namespace)
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\support\base.py", line 131, in itk_load_swig_module
3126: l_module = loader.load(swig_module_name)
3126: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\support\base.py", line 289, in load
3126: l_spec.loader.exec_module(l_module) # pytype: disable=attribute-error
3126: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3126: File "<frozen importlib._bootstrap_external>", line 940, in exec_module
3126: File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\support\..\ITKCommonPython.py", line 64, in <module>
3126: from itk.itkStreamingImageFilterPython import *
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\itkStreamingImageFilterPython.py", line 92, in <module>
3126: import itk.itkImageToImageFilterAPython
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\itkImageToImageFilterAPython.py", line 101, in <module>
3126: import itk.itkImageSourcePython
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\itkImageSourcePython.py", line 4142, in <module>
3126: @helpers.accept_array_like_xarray_torch
3126: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3126: File "C:\Misc\ITK-patches-rel-vs26\Wrapping\Generators\Python\itk\support\helpers.py", line 105, in accept_array_like_xarray_torch
3126: import xarray as xr
3126: File "C:\Program Files\Python311\Lib\site-packages\xarray\__init__.py", line 3, in <module>
3126: from xarray import testing, tutorial
3126: File "C:\Program Files\Python311\Lib\site-packages\xarray\testing\__init__.py", line 2, in <module>
3126: from xarray.testing.assertions import ( # noqa: F401
3126: File "C:\Program Files\Python311\Lib\site-packages\xarray\testing\assertions.py", line 11, in <module>
3126: from xarray.core import duck_array_ops, formatting, utils
3126: File "C:\Program Files\Python311\Lib\site-packages\xarray\core\duck_array_ops.py", line 34, in <module>
3126: from packaging.version import Version
3126: ModuleNotFoundError: No module named 'packaging'
3126: itkTestDriver: Process exited with return value: 1
1/169 Test #3126: PythonFindEmptyClasses ..................................................***Failed 1.21 sec
Description
ITK has an undeclared dependency on Python
packagingpackage, when Python wrapping is enabled. This manifests itself asModuleNotFoundError: No module named 'packaging'when running tests.Steps to Reproduce
Versions
Main branch, though this probably affects all recent versions.
Environment
Windows 11, VS2026, Python 3.11.
Additional Information