Commit 04daf12
committed
build(windows): pre-build pyyaml with --no-build-isolation
After restoring --no-build-isolation for the three local azure-cli installs, the next failure in the win32 MSI build is pyyaml's sdist build in the requirements install:
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Cannot import '_pyyaml_pep517'
Root cause is the same as for the local installs: pip's isolated PEP 517 BuildEnvironment subprocess cannot import any backend on the win32 embeddable Python because the embed directory is not on sys.path under python -I, so stdlib C extensions are unreachable. PIP_CONSTRAINT correctly installs setuptools<82 into the build env but the subprocess still fails before reaching the backend.
PyPI does not ship a cp314 win32 wheel for pyyaml, so pip is forced to build it from sdist. Cython is pyyaml's only extra build requirement and does ship a cp314 win32 wheel. Pre-install Cython into the main env, then install pyyaml itself with --no-build-isolation so it reuses the main env's already-loaded setuptools<82 + wheel + Cython. The subsequent requirements.py3.windows.txt install then finds pyyaml already satisfied and never spawns the failing BuildEnvironment subprocess.1 parent 01d5284 commit 04daf12
1 file changed
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
205 | 219 | | |
206 | 220 | | |
207 | 221 | | |
| |||
0 commit comments