fix(installer): bootstrap setuptools + wheel into embedded Python

get-pip.py installs only pip itself; the embedded Python distribution
  ships without setuptools or wheel. pip needs setuptools.build_meta as
  the PEP 517 build backend for any sdist-only package — Bambuddy's
  requirements.txt hits this on pyftpdlib 2.2.0 (sdist-only on PyPI).
  Install both right after the pip bootstrap so requirements.txt installs
  cleanly.
This commit is contained in:
maziggy
2026-06-10 12:24:25 +02:00
parent f327b7ffeb
commit 1b502c359f
+20
View File
@@ -116,6 +116,26 @@ def stage_embedded_python() -> Path:
check=True,
)
# Install setuptools + wheel. The embedded distribution ships without
# them, and get-pip.py installs only pip — but pip needs
# ``setuptools.build_meta`` (PEP 517 backend) to build any source-only
# package. Bambuddy's requirements.txt hits this with pyftpdlib 2.2.0
# which is sdist-only on PyPI; other source-only packages would fail
# the same way without this step.
log("installing setuptools + wheel for PEP 517 builds")
subprocess.run(
[
str(target / "python.exe"),
"-m",
"pip",
"install",
"--no-warn-script-location",
"setuptools",
"wheel",
],
check=True,
)
return target