You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Versions of setuptools since 64.0.0 changed editable (development) mode packaging with -e, especially (only?--not sure) with pyproject.toml based builds, see PEP 660. Arches uses a pyproject.toml, apparently only to configure black (!), which might be the reason we're in this situation.
The setuptools changes are good, since it forces developers to test on systems set up more like their users' systems. In the meantime, though, this means that imports that were depending on the old -e behavior will fail with the new -e behavior.
For instance, multiple builds were failing yesterday on manage.py commands like so, suggesting that a relative import somewhere was being resolved to an ugly/nonexistent path like arches.app.models.app.models.models...:
We could add that setting to our setup.py/pyproject.toml, or we could just fix the root cause of the incompatibilities with the new behavior (likely adjusting relative imports to be more explicit), since the "compat" mode is a transitional setting that will go away at some point. Opening this ticket to track that work.
The text was updated successfully, but these errors were encountered:
For instance, multiple builds were failing yesterday on manage.py commands like so, suggesting that a relative import somewhere was being resolved to an ugly/nonexistent path like arches.app.models.app.models.models...:
Turns out this "sudden" failure last month was a bug in setuptools 68.1.0, fixed in 68.1.1. So maybe we aren't on the hook for fixing the "compat mode" issues...
Background
Versions of
setuptools
since 64.0.0 changed editable (development) mode packaging with-e
, especially (only?--not sure) withpyproject.toml
based builds, see PEP 660. Arches uses a pyproject.toml, apparently only to configureblack
(!), which might be the reason we're in this situation.The setuptools changes are good, since it forces developers to test on systems set up more like their users' systems. In the meantime, though, this means that imports that were depending on the old
-e
behavior will fail with the new-e
behavior.For instance, multiple builds were failing yesterday on manage.py commands like so, suggesting that a relative import somewhere was being resolved to an ugly/nonexistent path like
arches.app.models.app.models.models...
:Action item
The stopgap fix in #9933 was to just not use
-e
on CI builds, since it's better to test against the installed package than a source checkout.The medium term workaround for developers who need editable mode is to opt-in to legacy editable mode:
We could add that setting to our setup.py/pyproject.toml, or we could just fix the root cause of the incompatibilities with the new behavior (likely adjusting relative imports to be more explicit), since the "compat" mode is a transitional setting that will go away at some point. Opening this ticket to track that work.
The text was updated successfully, but these errors were encountered: