SyneRBI / SIRF-SuperBuild

SIRF CMake SuperBuild
http://www.ccpsynerbi.ac.uk
Apache License 2.0
15 stars 17 forks source link

CIL tests are failing due to missing pywt #861

Closed KrisThielemans closed 4 months ago

KrisThielemans commented 5 months ago

https://github.com/SyneRBI/SIRF-SuperBuild/actions/runs/7742365193/job/21226857881?pr=858#step:11:1032

14/18 Test #14: CIL_FRAMEWORK_TESTS_11 ...........***Failed    1.11 sec
E
======================================================================
ERROR: test_quality_measures (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_quality_measures
Traceback (most recent call last):
  File "/usr/lib/python3.10/unittest/loader.py", line 436, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python3.10/unittest/loader.py", line 377, in _get_module_from_name
    __import__(name)
  File "/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/CIL/Wrappers/Python/test/test_quality_measures.py", line 28, in <module>
    from cil.processors import Slicer
  File "/home/runner/install/python/cil/processors/__init__.py", line 24, in <module>
    from .RingRemover import RingRemover
  File "/home/runner/install/python/cil/processors/RingRemover.py", line 22, in <module>
    import pywt
ModuleNotFoundError: No module named 'pywt'

This might be fixed by installing pywt. However, as before, I'm a bit warry of depending on CIL master. Does SIRF-SuperBuild/SIRF really be at highest CIL version? I think it is probably better to fix to a hash, even with DEVEL_BUILD=ON.

KrisThielemans commented 4 months ago

I tried adding pywt in cad0c6809b4865d4395dd45893362596b3c85e77 (on top of #859 but that's irrelevant here) but get https://github.com/SyneRBI/SIRF-SuperBuild/actions/runs/7821855152/job/21339712582

ERROR: Ignored the following versions that require a different python version: 0.52.0 Requires-Python >=3.6,<3.9; 0.52.0rc3 Requires-Python >=3.6,<3.9; 0.53.0 Requires-Python >=3.6,<3.10; 0.53.0rc1.post1 Requires-Python >=3.6,<3.10; 0.53.0rc2 Requires-Python >=3.6,<3.10; 0.53.0rc3 Requires-Python >=3.6,<3.10; 0.53.1 Requires-Python >=3.6,<3.10; 0.54.0 Requires-Python >=3.7,<3.10; 0.54.0rc2 Requires-Python >=3.7,<3.10; 0.54.0rc3 Requires-Python >=3.7,<3.10; 0.54.1 Requires-Python >=3.7,<3.10; 1.6.2 Requires-Python >=3.7,<3.10; 1.6.3 Requires-Python >=3.7,<3.10; 1.7.0 Requires-Python >=3.7,<3.10; 1.7.1 Requires-Python >=3.7,<3.10
ERROR: Could not find a version that satisfies the requirement pywt (from versions: none)
ERROR: No matching distribution found for pywt

Notice:  A new release of pip is available: 23.3.1 -> 24.0
Notice:  To update, run: pip install --upgrade pip

@paskino @casperdcl @gfardell @lauramurgatroyd we're now stuck here. I think the only solution is to set the DEVEL build for CIL to whatever we're using for the stable build as well.

KrisThielemans commented 4 months ago

using pywavelets as opposed to the (non-existing) pywt works in #862

KrisThielemans commented 4 months ago

This was resolved by adding pywavelets.