Python plugin --classic snap conflicts with system python
Metadata
Current evaluation
Classic Python snap handling was fixed by merged PR #1093 (e7824093f), preventing host-environment leakage and using a classic-compatible interpreter.
Resolution: closed resolved
Reason: Merged PR snapcraft#1093, commit e7824093f (“python plugin: do the right thing with classic”), corrected classic Python interpreter selection and environment handling.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Using a published `confinement: classic` snap using `plugin: python`, multiple people seem to have reported the snap trying to use/`import` host libraries rather than the dependencies installed during the snap plugin's build stage.
Errors:
https://github.com/iterative/dvc/issues/3514
Snapcraft config:
https://github.com/iterative/dvc/blob/master/snap/snapcraft.yaml
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Classic Python snap handling was fixed by merged PR #1093 (e7824093f), preventing host-environment leakage and using a classic-compatible interpreter. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed classic Python snaps by blocking host environment leaks and using a classic-enabled interpreter in merged PR #1093 (e7824093f). | |
| stealth/space-bunny-alpha | — | closed resolved | Classic Python confinement was fixed by merged PR canonical/snapcraft#1093 (e7824093f), isolating snap builds from host Python and using a classic-enabled interpreter. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The classic Python snap plugin incorrectly imported host system libraries instead of snap-built dependencies, causing runtime conflicts. No fix was implemented. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without comments or resolution, likely abandoned. The issue reported a Python plugin conflict where classic confinement snaps incorrectly imported host system libraries instead of packaged dependencies. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned and closed without resolution. Classic Python snaps incorrectly imported host system libraries instead of snap-built dependencies, causing runtime conflicts. No fix was implemented. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Classic snaps using the Python plugin incorrectly imported host system libraries instead of snap-built dependencies. The report was closed without comments or resolution, indicating it was abandoned. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/snapcraft#1093
(confidence 99%)
The merged commit directly addresses classic confinement behavior in the Python plugin.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1093 python plugin: do the right thing with classic. | snapcraft | merged | Merged PR canonical/snapcraft#1093 (commit e7824093f) made the python plugin classic-aware: it stops environment variables from leaking into classic builds and requires/uses a classic-compatible Python interpreter (LP #1657504). | |
| #316 snap: various fixes for classic | charmcraft | merged | Merged classic snap fixes, removing obsolete plugs, adding the python3-dev build package, and preventing PYTHONPATH leakage. | |
| #1080 python plugin: avoid the use of PYTHON* env vars. | snapcraft | closed | Closed unmerged and superseded by snapcraft/snapcraft#1093, which merged as e7824093f with classic-aware Python handling. | |
| #1669306 Python snaps now failing with snapcraft 2.27.1 | snapcraft (launchpad) | closed | The Python classic-confinement regression in Snapcraft 2.27.1 was fixed by snapcraft#1093, commit e7824093f, correcting Python plugin handling for classic snaps. | |
| #786 Python plugin. Python is broken in core24 classic snaps if snap is used on an older Ubuntu LTS version | craft-parts | open | Core24 classic snaps using the Python plugin fail on older Ubuntu LTS hosts because staged Python cannot find its stdlib; Snapcraft 8.3.2's fix proved incomplete, with follow-up in snapcraft#5144. | |
| #5144 error out if core24 classic python snap is created with the non-staged python binary | snapcraft | open | Add a Python-plugin guard for classic snaps staged without the python3-minimal symlink; current post_prime only rewrites pyvenv.cfg, leaving the core24 failure mode unresolved. |