matplotlib / matplotlib/matplotlib

[Bug]: install in development mode fails

Open
#30,038 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
23.2k
Forks
8.5k
Avg merge
1d 6h
Merged PRs (30d)
66

Description

### Bug summary

I'm trying to install matplotlib in development mode for a PR, and I'm using this for installing it in dev mode (from [here](https://matplotlib.org/devdocs/devel/development_setup.html#install-matplotlib-in-editable-mode)):

```bash
python -m pip install --verbose --no-build-isolation --editable ".[dev]"
```

I've tried all the basic stuffs (removing/re-creating the venv, etc), but I don't understand the error.

### Code for reproduction

Right after I git cloned and cd matplotlib:

```Python
python -m venv venv
source venv/bin/activate
pip install -r requirements/dev/dev-requirements.txt
pip install -r requirements/doc/doc-requirements.txt
pip install -r requirements/testing/all.txt
python -m pip install --verbose --no-build-isolation --editable ".[dev]"
```

### Actual outcome

Using pip 22.0.4 from /Users/josephbarbier/Desktop/matplotlib/venv/lib/python3.10/site-packages/pip (python 3.10)
Obtaining file:///Users/josephbarbier/Desktop/matplotlib
Running command Checking if build backend supports build_editable
Checking if build backend supports build_editable ... done
Running command Preparing editable metadata (pyproject.toml)
+ meson setup /Users/josephbarbier/Desktop/matplotlib /Users/josephbarbier/Desktop/matplotlib/build/cp310 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/Users/josephbarbier/Desktop/matplotlib/build/cp310/meson-python-native-file.ini
The Meson build system
Version: 1.8.0
Source dir: /Users/josephbarbier/Desktop/matplotlib
Build dir: /Users/josephbarbier/Desktop/matplotlib/build/cp310
Build type: native build
Program python3 python found: NO found 3.10.5 but need: '>= 3.11'

../../meson.build:6:4: ERROR: Program 'python3 python' not found or not executable

A full log can be found at /Users/josephbarbier/Desktop/matplotlib/build/cp310/meson-logs/meson-log.txt
error: subprocess-exited-with-error

× Preparing editable metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
full command: /Users/josephbarbier/Desktop/matplotlib/venv/bin/python /Users/josephbarbier/Desktop/matplotlib/venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_editable /var/folders/m2/jfzxyg4s0xz3jyw5f94r7tcm0000gn/T/tmpwu3byzgi
cwd: /Users/josephbarbier/Desktop/matplotlib
Preparing editable metadata (pyproject.toml) ... error
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

### Expected outcome

Successfully install matplotlib in development mode.

### Additional information

- I'm not sure why I have this version of Python installed here

- I tried with pip latest (25.1.1), and it doesn't change anything

- `meson-log.txt`

Build started at 2025-05-11T19:18:42.156591
Main binary: /Users/josephbarbier/Desktop/matplotlib/venv/bin/python
Build Options: -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/Users/josephbarbier/Desktop/matplotlib/build/cp310/meson-python-native-file.ini
Python system: Darwin
The Meson build system
Version: 1.8.0
Source dir: /Users/josephbarbier/Desktop/matplotlib
Build dir: /Users/josephbarbier/Desktop/matplotlib/build/cp310
Build type: native build
Running command: /Users/josephbarbier/Desktop/matplotlib/venv/bin/python --version
--- stdout ---
Python 3.10.5

--- stderr ---

Program python3 python found: NO found 3.10.5 but need: '>= 3.11'

../../meson.build:6:4: ERROR: Program 'python3 python' not found or not executable

### Operating system

MacOS Sequoia 15.4.1

### Matplotlib Version

3.10.3

### Matplotlib Backend

macosx

### Python version

Python 3.10.5

### Jupyter version

_No response_

### Installation

pip

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with meson.build at line 6 and the development setup guide linked in the issue, then reproduce the editable install using the reported Python 3.10 environment. Check how the Python version requirement is communicated or enforced; done means the supported development setup is clear and editable installation succeeds with the documented prerequisites.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, python
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.