← Back to issue list

Python plugin --classic snap conflicts with system python

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1880319
Type
issue
State
closed
Author
~casper-dcl
Labels
classic confinement path python system
Created
Updated
Closed

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).
79%
#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.
74%
#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.
73%
#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.
72%
#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.
72%
#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.
71%