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
When resolving packages, we allow setting a python version that is not the one in the current venv when resolving, e.g. target/debug/puffin pip-compile --python-version py39. We will select everything as if we were on that python version. This however doesn't really work anymore when building source distribution because a PEP 517 (and setup.py too) need a sys.executable that will necessarily be the local version.
Possible options:
Build the source distribution with the real python version, pick the wheel with the local python version tag (even if it mismatches the faked environment), assume that wheels built for different python versions have the same metadata (this is a somewhat necessary assumption anyway, without it a sane reusable resolution becomes all but impossible). We would keep two environments around, the main fake one and the secondary real one.
Provision the fake python from python-build-standalone for builds, making it a real python.
Ban source distribution builds when --python-version is set.
The text was updated successfully, but these errors were encountered:
## Summary
This PR modifies the behavior of our `--python-version` override in two
ways:
1. First, we always use the "real" interpreter in the source
distribution builder. I think this is correct. We don't need to use the
fake markers for recursive builds, because all we care about is the
top-level resolution, and we already assume that a single source
distribution will always return the same metadata regardless of its
build environment.
2. Second, we require that source distributions are compatible with
_both_ the "real" interpreter version and the marker environment. This
ensures that we don't try to build source distributions that are
compatible with our interpreter, but incompatible with the target
version.
Closes#407.
When resolving packages, we allow setting a python version that is not the one in the current venv when resolving, e.g.
target/debug/puffin pip-compile --python-version py39
. We will select everything as if we were on that python version. This however doesn't really work anymore when building source distribution because a PEP 517 (and setup.py too) need asys.executable
that will necessarily be the local version.Possible options:
--python-version
is set.The text was updated successfully, but these errors were encountered: