How does one install a setup.cfg + pyproject.toml python project in editable mode with pip?

Viewed 2219

Is it possible to halve your cake and eat it too: can one install (via some mechanism) a project with the following structure:

pyproject.toml
setup.cfg
src/...
scripts/...

In editable mode, like one could with a standard setup.py project:

python3 -m pip install -e . 

(It is OK if the answer is: "one does not install pyproj.toml packages in editable mode")

1 Answers

UPDATE As of August 2022, Setuptools and Pip now fully support PEP 660, and therefore it is now possible to perform an editable installation with only pyproject.toml.


After Pip version 21.1, you can use setup.cfg for editable installs.

In the near future, you won't even need that, because there is finally a standard for editable installs that doesn't assume you're using Setuptools: PEP 660. When PEP-517-compatible build backends start also supporting PEP 660, then Pip editable installation will work on projects that only have a pyproject.toml, i.e. PEP-517-only projects that don't support the legacy Setuptools interface (setup.py/setup.cfg).

Before Pip version 21.1 you needed a dummy setup.py:

#!/usr/bin/env python
import setuptools

if __name__ == "__main__":
    setuptools.setup()
Related