Skip to content

Error due to removal of get_cmap in matplotlib 3.9 #79

@aecio

Description

@aecio

PolyFuzz is being installed as a transitive dependency, and I'm getting the following error due to the removal of matplotlib.cm.get_cmap in matplotlib 3.9.

 /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/polyfuzz/__init__.py:1: in <module>
    from .polyfuzz import PolyFuzz
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/polyfuzz/polyfuzz.py:9: in <module>
    from polyfuzz.metrics import precision_recall_curve, visualize_precision_recall
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/polyfuzz/metrics.py:8: in <module>
    from matplotlib.cm import get_cmap
E   ImportError: cannot import name 'get_cmap' from 'matplotlib.cm' (/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/matplotlib/cm.py)

The removal is described in https://matplotlib.org/stable/api/prev_api_changes/api_changes_3.9.0.html#removals, and the suggested fix is as follows:

use matplotlib.colormaps[name] instead if you have a str. Use matplotlib.cm.ColormapRegistry.get_cmap if you have a str, None or a matplotlib.colors.Colormap object that you want to convert to a Colormap object.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions