1.5 KiB
1.5 KiB
kind, description
| kind | description |
|---|---|
| upgrade-guide | Custom primary-runtime payloads require relocatable Python interpreter aliases. |
Custom Python runtime aliases must target a sibling interpreter
English | 中文
Change
On macOS and Linux, DSH_PRIMARY_RUNTIME previously accepted interpreter links that resolved outside their payload or through other links. Payload validation now requires each linked dependencies/python/bin/python or python3 to point directly to the regular sibling interpreter named for runtime.json's Python major and minor version, such as python3.12. Regular command files remain supported, including those distributed in Python wheels. Windows is unchanged.
Migration
- For a custom payload, keep the versioned interpreter in
dependencies/python/bin/and makepythonandpython3relative links to its filename. The runtime preparation instructions list the required target and output arguments. - Preserve relative links when copying prepared resources. With Node
fs.cp, useverbatimSymlinks: true; wheel builders must materialize the command files because pip does not restore links. The native build smoke requires the prepared resource tree to retain both aliases. - Confirm that
readlinkreports only the sibling filename for both aliases, then move the payload away from its build directory, pointDSH_PRIMARY_RUNTIMEat its new directory, and verify thatload_workspace_dependenciesand the returned Python command succeed.