← Back to issue list

Python3 plugin fails to install requirements that are only available as wheels

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1604909
Type
issue
State
open
Author
~ralsina
Labels
Created
Updated
Closed

Current evaluation

Snapcraft 1.x python3 plugin passed --install-option=--prefix=usr to pip 8.1.2, which disabled wheel usage and broke installs of wheel-only packages (e.g. entrypoints). 10 years old, 0 comments, no maintainer interaction; the plugin was since rewritten in the modern craft-parts codebase.

Suggested action: close stale

Reason: The report is 3694 days old with 0 comments and no maintainer interaction, and it targets the snapcraft 1.x python3 plugin that invoked pip 8.1.2 (2015) with --install-option=--prefix=usr. The current codebase is the rewritten craft-parts/craft-application architecture (snapcraft/parts/, extensions/, models/), whose python plugin no longer uses that pip invocation, so the affected version and code path are long since EOL and the bug is no longer reproducible.

Impact: 20 Quick Win: 11.0 Staleness: 95 Complexity: 45 Confidence: 72 Support Request: 10

Issue body

It seems like the combination of options passed to pip prevents usage of wheels, which makes some packages uninstallable: This is how snapcraft fails: creating /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/lib/python3/dist-packages/pip-8.1.2-py3.5.egg Extracting pip-8.1.2-py3.5.egg to /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/lib/python3/dist-packages Adding pip 8.1.2 to easy-install.pth file Installing pip3 script to /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/bin Installing pip3.5 script to /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/bin Installing pip script to /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/bin Installed /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/lib/python3/dist-packages/pip-8.1.2-py3.5.egg Processing dependencies for pip Finished processing dependencies for pip python3 /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/bin/pip3 install --root /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install --install-option=--prefix=usr --requirement /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/requirements.txt /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/lib/python3.5/site-packages/pip-8.1.2-py3.5.egg/pip/commands/install.py:180: UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options. cmdoptions.check_install_build_global(options) Collecting entrypoints==0.2.2 (from -r /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/requirements.txt (line 1)) Could not find a version that satisfies the requirement entrypoints==0.2.2 (from -r /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/requirements.txt (line 1)) (from versions: ) No matching distribution found for entrypoints==0.2.2 (from -r /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/requirements.txt (line 1)) Command '['/bin/sh', '/tmp/tmpe_yi6b3p', 'python3', '/home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/bin/pip3', 'install', '--root', '/home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install', '--install-option=--prefix=usr', '--requirement', '/home/ralsina/Desktop/proyectos/nikola/master/snapcraft/requirements.txt']' returned non-zero exit status 1 And here is what is really happening, when trying to repeat the step manually: (nikola) ralsina@clakker:~/Desktop/proyectos/nikola/master/snapcraft$ /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/bin/pip3 install --root /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install --install-option=--prefix=usr --requirement /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/requirements.txt /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/parts/nikola-source/install/usr/lib/python3.5/site-packages/pip-8.1.2-py3.5.egg/pip/commands/install.py:180: UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options. cmdoptions.check_install_build_global(options) Collecting entrypoints==0.2.2 (from -r /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/requirements.txt (line 1)) Could not find a version that satisfies the requirement entrypoints==0.2.2 (from -r /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/requirements.txt (line 1)) (from versions: ) No matching distribution found for entrypoints==0.2.2 (from -r /home/ralsina/Desktop/proyectos/nikola/master/snapcraft/requirements.txt (line 1))

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 20
Quick Win: 11.0
Staleness: 95
Complexity: 45
Confidence: 72
Support Request: 10
close stale Snapcraft 1.x python3 plugin passed --install-option=--prefix=usr to pip 8.1.2, which disabled wheel usage and broke installs of wheel-only packages (e.g. entrypoints). 10 years old, 0 comments, no maintainer interaction; the plugin was since rewritten in the modern craft-parts codebase.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 15
Confidence: 90
Support Request: 5
close stale Python3 plugin passes --install-option to pip, disabling wheel support and causing installation failures for packages only available as wheels. The report is over a decade old with no maintainer interaction.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 30
Confidence: 95
Support Request: 5
close stale Python3 plugin fails to install wheel-only packages because pip disables wheels when --install-option is used. Issue is over 10 years old with no maintainer response.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 20
Confidence: 90
Support Request: 0
close stale Python3 plugin fails to install wheel-only packages because pip disables wheels when --install-option is used. Issue is over 10 years old with no maintainer interaction or labels.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 35
Confidence: 90
Support Request: 15
close stale Python3 plugin passes --install-option to pip, disabling wheel support and breaking installation of wheel-only packages. The issue remains open, unassigned, and inactive with no comments or updates since submission.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1753965 Error installing Python packages fails with trace snapcraft (launchpad) open Python plugin pip install failures (PyPI miss, VCS clone fail, HTTP 404) abort snapcraft with raw pip output plus a long traceback instead of a clean error. 8.5 years old, zero comments, references removed code path snapcraft/plugins/_python/_pip.py.
71%
#1675479 python plugin doesn't work for namespace packages snapcraft (launchpad) open 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.
71%