Meson and distutils
ways of doing things#
Old workflows (numpy.distutils based):
python runtests.py
python setup.py build_ext -i
+export PYTHONPATH=/home/username/path/to/scipy/reporoot
(and then edit pure Python code in SciPy and run it withpython some_script.py
).python setup.py develop
- this is similar to (2), except in-place build is made permanently visible in env.python setup.py bdist_wheel
+pip install dist/scipy*.whl
- build wheel in current env (i.e. uses installed numpy, etc.) and install it.pip install .
- build wheel in an isolated build env against deps inpyproject.toml
and install it. Note: be careful, this is usually not the correct command for development installs - typically you want to use (4) orpip install . -v --no-build-isolation
.
New workflows (Meson and meson-python based):
python dev.py
pip install -e . --no-build-isolation
(see themeson-python
docs)the same as (2)
python -m build --no-isolation
+pip install dist/scipy*.whl
- see pypa/build.pip install .