mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-09 07:25:44 +02:00
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:
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user