Source: matplotlib
Version: 3.10.1+dfsg1-2
Severity: important
X-Debbugs-Cc: francesco.balla...@unicatt.it

Hi,
I am rebuilding locally the fenics-dolfinx package in a clean system, and got 
the following error

=====================

Configuration error:
There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sphinx/config.py", line 529, in 
eval_config_file
    exec(code, namespace)  # NoQA: S102
    ~~~~^^^^^^^^^^^^^^^^^
  File "/repositories/dolfinx/python/doc/source/conf.py", line 17, in <module>
    jupytext_process.process()
    ~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/repositories/dolfinx/python/doc/source/jupytext_process.py", line 54, 
in process
    runpy.run_path(str(demo))
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "/repositories/dolfinx/python/demo/demo_lagrange_variants.py", line 59, 
in <module>
    plt.plot(lattice, values[:, i])
    ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 3830, in plot
    return gca().plot(
           ~~~^^
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 2777, in gca
    return gcf().gca()
           ~~~^^
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 1108, in gcf
    return figure()
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 1042, in 
figure
    manager = new_figure_manager(
        num, figsize=figsize, dpi=dpi,
        facecolor=facecolor, edgecolor=edgecolor, frameon=frameon,
        FigureClass=FigureClass, **kwargs)
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 551, in 
new_figure_manager
    _warn_if_gui_out_of_main_thread()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 528, in 
_warn_if_gui_out_of_main_thread
    canvas_class = cast(type[FigureCanvasBase], _get_backend_mod().FigureCanvas)
                                                ~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 369, in 
_get_backend_mod
    switch_backend(rcParams._get("backend"))
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 411, in 
switch_backend
    switch_backend(candidate)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 425, in 
switch_backend
    module = backend_registry.load_backend_module(newbackend)
  File "/usr/lib/python3/dist-packages/matplotlib/backends/registry.py", line 
317, in load_backend_module
    return importlib.import_module(module_name)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/matplotlib/backends/backend_gtk4agg.py", 
line 4, in <module>
    from . import backend_agg, backend_gtk4
  File "/usr/lib/python3/dist-packages/matplotlib/backends/backend_gtk4.py", 
line 19, in <module>
    gi.require_version("Gtk", "4.0")
    ^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'

make[1]: *** [debian/rules:206: override_dh_auto_install-indep] Error 2


============

I noticed that, after installing python3-matplotlib, running a "import gi"
results in a "print(gi.__file__)" printing None.
If I manually install python3-gi as well, then "print(gi.__file__)" will print
the expected path of the system installation of python3-gi.

Is it possible that recent upgrade to matplotlib 3.10 missed a dependency on
python3-gi?

Cheers,
Francesco

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.20-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect

Reply via email to