snapcraft should wipe out existing dependency zips
Metadata
Current evaluation
Snapcraft python-packages part fails on second build when a git-based install_requires dependency produces an existing zip, causing pip download to prompt interactively and crash with EOFError. No maintainer activity in 7.5 years.
Suggested action: close stale
Reason: The issue is 2757 days old with zero comments, no labels, and no maintainer engagement. The traceback references Python 3.6 and pip internals (pip/_internal/resolve.py, req_install.py) from a pre-rewrite era of snapcraft; the python-packages part implementation has since been completely reworked, making the original code path obsolete. The affected implementation is no longer supported.
Impact:
30
Quick Win:
21.0
Staleness:
95
Complexity:
30
Confidence:
55
Support Request:
10
Issue body
Our project has a requirement in install_requires that looks like this:
"distro_info @ git+https://git.launchpad.net/ubuntu/+source/distro-info#subdirectory=python"
When running snapcraft for a second time, I see this failure:
Collecting distro_info@ git+https://git.launchpad.net/ubuntu/+source/distro-info#subdirectory=python from git+https://git.launchpad.net/ubuntu/+source/distro-info#subdirectory=python (from cpc-build-tools==0.1.0)
Cloning https://git.launchpad.net/ubuntu/+source/distro-info to /tmp/pip-download-ploa_hbm/distro-info
The file /root/parts/cpc-build-tools/python-packages/distro-info-0.21.zip exists. (i)gnore, (w)ipe, (b)ackup, (a)bort Exception:
Traceback (most recent call last):
File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 179, in main
status = self.run(options, args)
File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/commands/download.py", line 164, in run
resolver.resolve(requirement_set)
File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/resolve.py", line 131, in resolve
self._resolve_one(requirement_set, req)
File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/resolve.py", line 294, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/resolve.py", line 242, in _get_abstract_dist_for
self.require_hashes
File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 353, in prepare_linked_requirement
req.archive(self.download_dir)
File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/req/req_install.py", line 845, in archive
display_path(archive_path), ('i', 'w', 'b', 'a'))
File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/utils/misc.py", line 169, in ask_path_exists
return ask(message, options)
File "/root/parts/cpc-build-tools/install/lib/python3.6/site-packages/pip/_internal/utils/misc.py", line 181, in ask
response = input(message)
EOFError: EOF when reading a line
Failed to run '/root/stage/usr/bin/python3 -m pip download --disable-pip-version-check --dest /root/parts/cpc-build-tools/python-packages .': Exited with code 2.
snapcraft should either configure `pip download` to automatically wipe such files out, or wipe them out itself.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.8-27b |
Impact:
30
Quick Win:
21.0
Staleness:
95
Complexity:
30
Confidence:
55
Support Request:
10
|
close stale | Snapcraft python-packages part fails on second build when a git-based install_requires dependency produces an existing zip, causing pip download to prompt interactively and crash with EOFError. No maintainer activity in 7.5 years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
45
Confidence:
90
Support Request:
5
|
close stale | Report of snapcraft failing on second run due to pip download prompting for existing dependency zips, causing an EOFError. Suggests auto-wiping or pre-cleaning. Issue is over 7 years old with no maintainer interaction. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
20
Confidence:
90
Support Request:
10
|
close stale | Reported failure when snapcraft runs pip download a second time due to existing dependency zips prompting for user input in non-interactive mode. Issue is 7+ years old with no maintainer response or activity. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
20
Confidence:
85
Support Request:
5
|
close stale | snapcraft fails on repeated runs when pip encounters existing dependency zips and prompts for input. The report is over 7 years old with no maintainer interaction. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
98
Complexity:
20
Confidence:
90
Support Request:
5
|
needs triage | snapcraft fails on subsequent runs when pip encounters existing dependency zips, prompting for input and causing an EOFError. Suggests auto-wiping or pre-wiping these files. Untriaged and inactive for over 7 years. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1815358 python package not updating during snap creation | snapcraft (launchpad) | open | Snapcraft python plugin fails to rebuild a changed Python package on re-run, keeping the old version; user must flip source-type git/local to force a build. Legacy multipass-VM flow, no maintainer activity in ~7.5 years. | |
| #1882124 snapcraft does not properly surface an error message during the pip presence checking on the second and subsequent runs | snapcraft (launchpad) | open | Snapcraft's pip presence check swallows the real exception (ModuleNotFoundError: distutils.util) on second/subsequent runs, showing only 'Exited with code 1'. Legacy plugin code, Python 3.6 era, untriaged and inactive ~6 years. |