plugins: be more specific in search for payload Python
Metadata
Current evaluation
Merged PR #487 as commit d3cc6ccf, requiring the payload Python version to exactly match the venv and avoiding ambiguous binaries such as python3.6m.
Resolution: closed resolved
Reason: PR #487 was approved and merged as commit d3cc6ccf. The change tightens payload interpreter selection to require the exact Python version used to create the venv.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This commit updates the Python plugin to be more restrictive when looking for the interpreter in the parts' payload: if the venv is created using "python3.10", then that exact version of Python must be found in the payload in order to be usable.
In addition to avoiding issues from incompatible versions, this handles cases like the Python 3.6 package (from the deadsnakes ppa) that has both a "python3.6" and a "python3.6m" binaries by default.
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #487 as commit d3cc6ccf, requiring the payload Python version to exactly match the venv and avoiding ambiguous binaries such as python3.6m. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged craft-parts PR #487 (commit d3cc6ccf), requiring payload Python to match the exact venv version and correctly distinguish binaries such as python3.6 and python3.6m. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Restricts Python plugin payload searches to exact interpreter versions, preventing compatibility issues and handling duplicate binaries. Approved, passed CI, and integrated. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Updates the Python plugin to strictly match the exact interpreter version in the payload, preventing compatibility issues and handling duplicate binaries like python3.6 and python3.6m. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #449 plugins: better checking for needed payload python | craft-parts | merged | Merged PR #449 as 1fbda451, deferring Python venv symlink removal until build end so payload-interpreter checks can run and unusable ROCKs are prevented. |