Skip to main content
`Ctrl`+`K`

# Meson and `distutils` ways of doing things

Old workflows (numpy.distutils based):

1. `python runtests.py`

2. `python setup.py build_ext -i` + `export PYTHONPATH=/home/username/path/to/numpy/reporoot` (and then edit pure Python code in NumPy and run it with `python some_script.py`).

3. `python setup.py develop` - this is similar to (2), except in-place build is made permanently visible in env.

4. `python setup.py bdist_wheel` + `pip install dist/numpy*.whl` - build wheel in current env and install it.

5. `pip install .` - build wheel in an isolated build env against deps in `pyproject.toml` and install it. Note: be careful, this is usually not the correct command for development installs - typically you want to use (4) or `pip install . -v --no-build-isolation`.

New workflows (Meson and meson-python based):

1. `spin test`

2. `pip install -e . --no-build-isolation` (note: only for working on NumPy itself - for more details, see IDE support & editable installs)

3. the same as (2)

4. `python -m build --no-isolation` + `pip install dist/numpy*.whl` - see pypa/build.

5. `pip install .`