Chris
Chris

Reputation: 31284

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

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")

Upvotes: 11

Views: 5401

Answers (1)

shadowtalker
shadowtalker

Reputation: 13913

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.

NOTE: To be able to do an editable installation to your user site (pip install -e --user), you need a system installed setuptools v62.0.0 or newer.


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()

Upvotes: 6

Related Questions