FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[Bug]: Unable to install matplotlib (editable mode) in Github Codespace · Issue #29852 · matplotlib/matplotlib · GitHub

Repository navigation

[Bug]: Unable to install matplotlib (editable mode) in Github Codespace #29852

Closed as not planned

Description

Bug summary

Running the instructions to install Matplotlib in editable mode and verify installation while in Github Codespace leads to an error:
ImportError: /workspaces/matplotlib/build/cp312/src/_path.cpython-312-x86_[64-linux-gnu.so](http://64-linux-gnu.so/): undefined symbol: _ZN3agg10curve3_div4initEdddddd

Code for reproduction

python -m pip install --no-build-isolation --config-settings=editable-verbose=true --editable .

Actual outcome

(mpl-dev) @thedatacurious ➜ /workspaces/matplotlib (doc-branch) $ pip install --no-build-isolation --config-settings=editable-verbose=true --editable .
Obtaining file:///workspaces/matplotlib
  Checking if build backend supports build_editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: contourpy>=1.0.1 in /home/codespace/.local/lib/python3.12/site-packages (from matplotlib==0.1.0.dev52213+g5d722a9) (1.3.1)
Requirement already satisfied: cycler>=0.10 in /home/codespace/.local/lib/python3.12/site-packages (from matplotlib==0.1.0.dev52213+g5d722a9) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /home/codespace/.local/lib/python3.12/site-packages (from matplotlib==0.1.0.dev52213+g5d722a9) (4.55.3)
Requirement already satisfied: kiwisolver>=1.3.1 in /home/codespace/.local/lib/python3.12/site-packages (from matplotlib==0.1.0.dev52213+g5d722a9) (1.4.7)
Requirement already satisfied: numpy>=1.23 in /home/codespace/.local/lib/python3.12/site-packages (from matplotlib==0.1.0.dev52213+g5d722a9) (2.2.0)
Requirement already satisfied: packaging>=20.0 in /home/codespace/.local/lib/python3.12/site-packages (from matplotlib==0.1.0.dev52213+g5d722a9) (24.2)
Requirement already satisfied: pillow>=9 in /home/codespace/.local/lib/python3.12/site-packages (from matplotlib==0.1.0.dev52213+g5d722a9) (11.0.0)
Requirement already satisfied: pyparsing>=2.3.1 in /home/codespace/.local/lib/python3.12/site-packages (from matplotlib==0.1.0.dev52213+g5d722a9) (3.2.0)
Requirement already satisfied: python-dateutil>=2.7 in /home/codespace/.local/lib/python3.12/site-packages (from matplotlib==0.1.0.dev52213+g5d722a9) (2.9.0.post0)
Requirement already satisfied: six>=1.5 in /home/codespace/.local/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib==0.1.0.dev52213+g5d722a9) (1.17.0)
Building wheels for collected packages: matplotlib
  Building editable for matplotlib (pyproject.toml) ... done
  Created wheel for matplotlib: filename=matplotlib-0.1.0.dev52213+g5d722a9-cp312-cp312-linux_x86_64.whl size=10310 sha256=7ac60e5ad72b00ceaf9fc1f3dbc55e5979f22ecff0a418b2e2cc1d718ff878fc
  Stored in directory: /tmp/pip-ephem-wheel-cache-8w0d3c06/wheels/12/a2/a8/efadc28c14fa1750547f26b6cb4f3e357cd1fa0797dc7e1949
Successfully built matplotlib
Installing collected packages: matplotlib
  Attempting uninstall: matplotlib
    Found existing installation: matplotlib 0.1.0.dev52212+g8eb6289
    Uninstalling matplotlib-0.1.0.dev52212+g8eb6289:
      Successfully uninstalled matplotlib-0.1.0.dev52212+g8eb6289
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
seaborn 0.13.2 requires matplotlib!=3.6.1,>=3.4, but you have matplotlib 0.1.0.dev52213+g5d722a9 which is incompatible.
Successfully installed matplotlib-0.1.0.dev52213+g5d722a9
(mpl-dev) @thedatacurious ➜ /workspaces/matplotlib (doc-branch) $ python -c "import matplotlib; print(matplotlib.__file__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/workspaces/matplotlib/lib/matplotlib/__init__.py", line 161, in <module>
    from . import _api, _version, cbook, _docstring, rcsetup
  File "/workspaces/matplotlib/lib/matplotlib/rcsetup.py", line 28, in <module>
    from matplotlib.colors import Colormap, is_color_like
  File "/workspaces/matplotlib/lib/matplotlib/colors.py", line 57, in <module>
    from matplotlib import _api, _cm, cbook, scale, _image
  File "/workspaces/matplotlib/lib/matplotlib/scale.py", line 39, in <module>
    from matplotlib.ticker import (
  File "/workspaces/matplotlib/lib/matplotlib/ticker.py", line 144, in <module>
    from matplotlib import transforms as mtransforms
  File "/workspaces/matplotlib/lib/matplotlib/transforms.py", line 49, in <module>
    from matplotlib._path import affine_transform, count_bboxes_overlapping_bbox
ImportError: /workspaces/matplotlib/build/cp312/src/_path.cpython-312-x86_64-linux-gnu.so: undefined symbol: _ZN3agg10curve3_div4initEdddddd

Expected outcome

python -c "import matplotlib; print(matplotlib.__file__)"
should return :
<matplotlib_local_repo>\lib\matplotlib\__init__.py

Additional information

@story645 is able to replicate the issue

Operating system

No response

Matplotlib Version

Unable to get version, running the prompt returns the same Import Error message

Matplotlib Backend

No response

Python version

No response

Jupyter version

No response

Installation

pip

Activity

  1. scottshambaugh commented on Apr 1, 2025

    Contributor

    Also started running into this today locally, with the same symbol _ZN3agg10curve3_div4initEdddddd

    ImportError: /mnt/c/Users/Scott/Documents/Documents/Coding/matplotlib/build/cp312/src/_path.cpython-312-x86_64-linux-gnu.so: undefined symbol: _ZN3agg10curve3_div4initEdddddd
    
  2. QuLogic commented on Apr 2, 2025

    Member

    Likely this is because #28352 was merged. I'm not sure how @dstansby tested it as working, but it may have to be reverted.

    Does setting export AR=$GCC_AR before building work?

  3. scottshambaugh commented on Apr 2, 2025

    Contributor

    Yes, export AR=$GCC_AR before building resolves it!

  4. QuLogic commented on Apr 2, 2025

    Member

    OK, this is because conda-forge's compiler activation package sets AR to one that doesn't support all of GCC's plugins, but instead sets the (non-standard?) GCC_AR to it. Meson doesn't find this, of course, because it's non-standard mesonbuild/meson#13324

    I didn't get around to writing an issue asking why conda-forge does it this way.

  5. rcomer commented on Oct 5, 2026

    Member

    I have no idea what, but it looks like something fixed this.

    I just made a fresh conda dev environment and forgot to set the environment variable. The build seemed to work fine anyway and I successfully made a simple plot and ran a test. This was on RHEL9.

    So I then set up a new codespace instance and successfully ran pytest on one test module with no extra steps. I copied the install command verbatim from the contributors' guide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL