editable mode crash
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pyparsing (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Fix Released
|
Medium
|
Unassigned | ||
python-pip (Debian) |
Fix Released
|
Unknown
|
|||
python-pip (Ubuntu) |
Fix Released
|
Medium
|
Barry Warsaw | ||
Xenial |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[Impact]
From https:/
pip install -e .[testing]
crashes.
The `[testing]` bit names an `extras_require` section in a package's setup.py so this crash prevents the installation of package extras.
The coming SRU fixes to python-pip backports into a quilt patch just enough of the upstream changes to repair installing extras.
This does however require an SRU for pyparsing because it is a new runtime dependency of the patch, and the version of pyparsing in Xenial cannot be dirtbiked (rewheeled) because it uses distutils.setup() instead of setuptools.setup(). So the SRU for pyparsing simply patches the setup.py to use setuptools and thus produce an egg-info directory instead (which contains the necessary metadata for dirtbike to turn this new Built-Using package into a .whl).
Neither fix is necessary for Yakkety because 1) pip has a new upstream release in Debian which contains the backported fix; 2) pyparsing has a new upstream release in Debian which already switches to setuptools.
Both should show up in Yakkety once the normal unstable autoimport runs.
[Test Case]
I've also backported a DEP-8 test called pip3-editable.sh which proves that this change fixes the bug. I added this DEP-8 test in the new Debian version, and proved that running the DEP-8 tests without the quilt patch fails, but with it, it succeeds.
[Regression potential]
It should be low to none. The previously existing DEP-8 tests invoke pip under several common scenarios (i.e. both inside and outside a virtualenv, and both as a normal user and root).
All tests continue to pass, although I'll note that I also had to backport the addition of PIP_DISABLE_
Changed in python-pip (Debian): | |
status: | Unknown → New |
no longer affects: | python-packaging (Ubuntu) |
description: | updated |
Changed in python-pip (Debian): | |
status: | New → Fix Released |
Changed in python-pip (Ubuntu): | |
milestone: | xenial-updates → none |
Changed in python-pip (Ubuntu Xenial): | |
milestone: | none → xenial-updates |
no longer affects: | python-packaging (Ubuntu Xenial) |
Changed in pyparsing (Ubuntu): | |
status: | New → Fix Released |
Changed in python-pip (Ubuntu): | |
status: | New → Fix Released |
Changed in pyparsing (Ubuntu): | |
importance: | Undecided → Medium |
Changed in pyparsing (Ubuntu Xenial): | |
importance: | Undecided → Medium |
Changed in python-pip (Ubuntu): | |
importance: | Undecided → Medium |
Changed in python-pip (Ubuntu Xenial): | |
importance: | Undecided → Medium |
Debian bug has the details, but this does affect Xenial so will need an SRU