← Back to issue list

python plugin doesn't work for namespace packages

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1675479
Type
issue
State
open
Author
~corey.bryant
Labels
openstack plugin
Created
Updated
Closed
—

Current evaluation

2017 report that snapcraft's in-tree python plugin mishandled namespace packages (missing __init__.py / .pth) for Python 2.7 classic snaps; maintainer called it invalid, reporter's workaround was touch-ing __init__.py, no activity since 2017.

Suggested action: close stale

Reason: The subsystem this bug targets no longer exists in snapcraft: the repo has no in-tree python plugin code (only craft-parts docs/ spread fixtures referencing 'plugin: python'), and the python plugin is owned by craft-parts, which installs dependencies into a venv rather than Python 2.7 system site-packages, so the reported namespace-package/.pth behaviour cannot be reproduced. Additionally the reporter's own diagnosis points upstream (pypa/pip#1924), the only reproducer links are long-dead paste.ubuntu.com pages, and ~sergiusens explicitly marked it invalid ('I don't see that error... .pth files seem to work', demonstrated `from paste import deploy` succeeding) with the reporter closing with only a `touch` workaround in2017.

Evaluated by: mr-cal-bot

Impact: 18 Quick Win: 2 Complexity: 68 Confidence: 68 Actionability: 28

Issue body

snapcraft version: commit dbdaf36a43c7e5682d00e34552ce283f4ec1fc9d (this is the fix for https://bugs.launchpad.net/snapcraft/+bug/1670852). snap: github.com/openstack/snap-keystone When testing the above bug fix, I started hitting the following issue. Note: the above commit did fix the issue reported in that bug. The snap installs successfully now. However, python dependencies aren't fully getting installed. I don't hit these issues on 2.22. For example, after installing the snap, running a command from the snap I hit this: http://paste.ubuntu.com/24230185/ And /snap/keystone/current/lib/python2.7/site-packages/repoze/lru/ does in fact exist. 'touch /snap/keystone/current/lib/python2.7/site-packages/repoze/lru/__init__.py' got me past that issue. Then starting a daemon 'sudo systemctl restart snap.keystone.api' I hit: http://paste.ubuntu.com/24230205/ Once again, 'touch /snap/keystone/x1/lib/python2.7/site-packages/paste/__init__.py' seemed to fix that issue. It seems that the cause of this problem may be due to: https://github.com/pypa/pip/issues/1924

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 18
Quick Win: 2
Complexity: 68
Confidence: 68
Actionability: 28
close stale 2017 report that snapcraft's in-tree python plugin mishandled namespace packages (missing __init__.py / .pth) for Python 2.7 classic snaps; maintainer called it invalid, reporter's workaround was touch-ing __init__.py, no activity since 2017.
stealth/space-bunny-alpha
Impact: 15
Quick Win: 1
Complexity: 55
Confidence: 76
Actionability: 18
close not a bug 2017 report: python plugin fails on namespace packages (repoze, paste) in a python2.7 classic keystone snap. Maintainer sergiusens marked it invalid, blaming snapd env handling and upstream pip#1924; reporter added a touch __init__.py workaround. No activity since Apr 2017.
qwen/qwen3.6-35b-a3b
Impact: 50
Quick Win: 18
Complexity: 40
Confidence: 50
Actionability: 60
needs triage Python plugin fails to create __init__.py files for namespace packages, causing import errors. Issue is 9+ years old with no maintainer response.
qwen/qwen3.8-27b
Impact: 20
Quick Win: 10
Staleness: 95
Complexity: 50
Confidence: 75
Support Request: 10
close stale Snapcraft's python plugin (python2.7 era) failed to install namespace packages like repoze.lru and paste without __init__.py, causing ImportErrors in the keystone snap. Open since 2016 with zero comments; the affected plugin and pip bug are long obsolete.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 65
Confidence: 90
Support Request: 10
close stale Python plugin fails to handle namespace packages, causing missing __init__.py files and import errors. Unaddressed for over 9 years with no maintainer interaction.
qwen/qwen3.6-35b-a3b
Staleness: 99
Complexity: 50
Confidence: 95
Support Request: 10
close stale Snapcraft python plugin fails to install namespace packages correctly, missing __init__.py files. Reported over 9 years ago with no maintainer response or updates.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 35
Confidence: 92
Support Request: 15
close stale Python plugin fails to install namespace packages correctly, missing __init__.py files. Issue is over 9 years old, references Python 2.7 and outdated snapcraft versions, with no maintainer interaction.

Update history

Date Change
created

Related work

  • Related To: snapcraft (launchpad)#1670852 (confidence 80%)

    Body explicitly references this earlier bug and its fix commit dbdaf36a, and states 'the above commit did fix the issue reported in that bug'; this is separate from the namespace-package problem.

  • Related To: pip#1924 (confidence 70%)

    Reporter identifies upstream pip behaviour around namespace-package __init__.py files as the likely root cause, i.e. not snapcraft-controlled.

Related issues

Issue Project State Summary Similarity
#2161192 python plugin not working at all with snapcraft 9+ snapcraft (launchpad) open Core26 Python plugin builds and module loading were fixed; packaging Python separately is now documented as required by the base.
74%
#2161191 python plugin messing with snapcraft env snapcraft (launchpad) open Vague report that the Python plugin alters Snapcraft's own Python version/modules instead of isolating part deps in a venv; links a core26 forum thread. No labels, no maintainer response, zero comments, no reproducer.
70%
#1586546 snapcraft python2 plugin build fails because of .pth and PYTHONPATH test snapcraft (launchpad) closed Fixed Python plugin setup.py handling in snapcore/snapcraft#718, merged as commit 810136457.
70%