Bug 2291911 - F41FailsToInstall: python3-scikit-image
Summary: F41FailsToInstall: python3-scikit-image
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: python-scikit-image
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Sergio Pascual
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2279988 2280964 2291636 2291711 2291991
Blocks: F41FailsToInstall PYTHON3.13 2291647 2291722 2291792 2291843 2291957
TreeView+ depends on / blocked
 
Reported: 2024-06-12 11:29 UTC by Fedora Fails To Install
Modified: 2024-06-18 18:49 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-06-18 18:49:45 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github scikit-image scikit-image issues 6993 0 None open Document minimum tifffile requirements 2024-06-18 10:35:17 UTC

Description Fedora Fails To Install 2024-06-12 11:29:44 UTC
Hello,

Please note that this comment was generated automatically by https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py
If you feel that this output has mistakes, please open an issue at https://pagure.io/releng/

Your package (python-scikit-image) Fails To Install in Fedora 41:

can't install python3-scikit-image:
  - nothing provides python(abi) = 3.12 needed by python3-scikit-image-0.23.2-1.fc41.x86_64
  - nothing provides python3.12dist(packaging) >= 21 needed by python3-scikit-image-0.23.2-1.fc41.x86_64
  - nothing provides python3.12dist(numpy) >= 1.23 needed by python3-scikit-image-0.23.2-1.fc41.x86_64
  - nothing provides python3.12dist(imageio) >= 2.33 needed by python3-scikit-image-0.23.2-1.fc41.x86_64
  - nothing provides python3.12dist(lazy-loader) >= 0.4 needed by python3-scikit-image-0.23.2-1.fc41.x86_64
  - nothing provides python3.12dist(networkx) >= 2.8 needed by python3-scikit-image-0.23.2-1.fc41.x86_64
  - nothing provides python3.12dist(pillow) >= 9.1 needed by python3-scikit-image-0.23.2-1.fc41.x86_64
  - nothing provides python3.12dist(scipy) >= 1.9 needed by python3-scikit-image-0.23.2-1.fc41.x86_64
  - nothing provides python3.12dist(tifffile) >= 2022.8.12 needed by python3-scikit-image-0.23.2-1.fc41.x86_64
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.


P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors. To reproduce, use the koji/local repo only, e.g. in mock:

    $ mock -r fedora-41-x86_64 --config-opts mirrored=False install python3-scikit-image


P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#updating-inter-dependent-packages

Thanks!

Comment 1 Ben Beasley 2024-06-17 00:09:58 UTC
==================================== ERRORS ====================================
_______________ ERROR collecting skimage/draw/tests/test_draw.py _______________
/usr/lib/python3.13/site-packages/_pytest/runner.py:341: in from_call
    result: Optional[TResult] = func()
/usr/lib/python3.13/site-packages/_pytest/runner.py:372: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
/usr/lib/python3.13/site-packages/_pytest/python.py:531: in collect
    self._inject_setup_module_fixture()
/usr/lib/python3.13/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture
    self.obj, ("setUpModule", "setup_module")
/usr/lib/python3.13/site-packages/_pytest/python.py:310: in obj
    self._obj = obj = self._getobj()
/usr/lib/python3.13/site-packages/_pytest/python.py:528: in _getobj
    return self._importtestmodule()
/usr/lib/python3.13/site-packages/_pytest/python.py:617: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
/usr/lib/python3.13/site-packages/_pytest/pathlib.py:567: in import_path
    importlib.import_module(module_name)
/usr/lib64/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1387: in _gcd_import
    ???
<frozen importlib._bootstrap>:1360: in _find_and_load
    ???
<frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:935: in _load_unlocked
    ???
/usr/lib/python3.13/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
    exec(co, module.__dict__)
skimage/draw/tests/test_draw.py:24: in <module>
    from skimage.measure import regionprops
<frozen importlib._bootstrap>:1412: in _handle_fromlist
    ???
/usr/lib/python3.13/site-packages/lazy_loader/__init__.py:82: in __getattr__
    submod = importlib.import_module(submod_path)
/usr/lib64/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
skimage/measure/_regionprops.py:1426: in <module>
    _install_properties_docs()
skimage/measure/_regionprops.py:1421: in _install_properties_docs
    getattr(RegionProperties, p).__doc__ = prop_doc[p]
E   KeyError: 'area_bbox'
__________ ERROR collecting skimage/measure/tests/test_regionprops.py __________
/usr/lib/python3.13/site-packages/_pytest/runner.py:341: in from_call
    result: Optional[TResult] = func()
/usr/lib/python3.13/site-packages/_pytest/runner.py:372: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
/usr/lib/python3.13/site-packages/_pytest/python.py:531: in collect
    self._inject_setup_module_fixture()
/usr/lib/python3.13/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture
    self.obj, ("setUpModule", "setup_module")
/usr/lib/python3.13/site-packages/_pytest/python.py:310: in obj
    self._obj = obj = self._getobj()
/usr/lib/python3.13/site-packages/_pytest/python.py:528: in _getobj
    return self._importtestmodule()
/usr/lib/python3.13/site-packages/_pytest/python.py:617: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
/usr/lib/python3.13/site-packages/_pytest/pathlib.py:567: in import_path
    importlib.import_module(module_name)
/usr/lib64/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1387: in _gcd_import
    ???
<frozen importlib._bootstrap>:1360: in _find_and_load
    ???
<frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:935: in _load_unlocked
    ???
/usr/lib/python3.13/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
    exec(co, module.__dict__)
skimage/measure/tests/test_regionprops.py:17: in <module>
    from skimage.measure._regionprops import (
skimage/measure/_regionprops.py:1426: in <module>
    _install_properties_docs()
skimage/measure/_regionprops.py:1421: in _install_properties_docs
    getattr(RegionProperties, p).__doc__ = prop_doc[p]
E   KeyError: 'area_bbox'
=========================== short test summary info ============================
ERROR skimage/draw/tests/test_draw.py - KeyError: 'area_bbox'
ERROR skimage/measure/tests/test_regionprops.py - KeyError: 'area_bbox'
!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!
================= 5 skipped, 10 deselected, 2 errors in 5.35s ==================

Comment 2 Adam Williamson 2024-06-18 09:14:37 UTC
I'm fairly sure this is the change to docstring indentation, *again*. skimage is doing some fairly sketchy regex-based magic to generate docstrings for properties from a big docstring for a function:

def _parse_docs():
    import re
    import textwrap

    doc = regionprops.__doc__ or ''
    matches = re.finditer(
        r'\*\*(\w+)\*\* \:.*?\n(.*?)(?=\n    [\*\S]+)', doc, flags=re.DOTALL
    )
    prop_doc = {m.group(1): textwrap.dedent(m.group(2)) for m in matches}

def _install_properties_docs():
    prop_doc = _parse_docs()

    for p in [member for member in dir(RegionProperties) if not member.startswith('_')]:
        getattr(RegionProperties, p).__doc__ = prop_doc[p]

...where the regionprops docstring text looks like:

    **area** : float
        Area of the region i.e. number of pixels of the region scaled by pixel-area.
    **area_bbox** : float
        Area of the bounding box i.e. number of pixels of bounding box scaled by pixel-area.
    **area_convex** : float
        Area of the convex hull image, which is the smallest convex
        polygon that encloses the region.
    **area_filled** : float
        Area of the region with all the holes filled in.

...so I'm pretty sure the deindentation thing is screwing it up (it's expecting four spaces before the text it wants to use as the property docstring). Testing a patch for it now, will clean it up and send it upstream if it works.

Comment 3 Adam Williamson 2024-06-18 10:27:35 UTC
https://github.com/scikit-image/scikit-image/pull/7448 fixes the indentation thing. Orion reported the other two issues I saw in a mock build at https://github.com/scikit-image/scikit-image/issues/6993 , but he said there it magically went away for him after a bit. Not sure if it will for me. Trying a few things here.

Comment 4 Adam Williamson 2024-06-18 17:14:51 UTC
aha, those bugs are due to a missing image file in the cached data tarball. will fix.

Comment 5 Fedora Fails To Install 2024-06-18 18:49:45 UTC
Hello,

Please note that this comment was generated automatically by https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py
If you feel that this output has mistakes, please open an issue at https://pagure.io/releng/

All subpackages of a package against which this bug was filled are now installable or removed from Fedora 41.

Thanks for taking care of it!


Note You need to log in before you can comment on or make changes to this bug.