Debian Bug report logs - #785787
python-distlib == 0.2.0-1 breaks python-pip 1.5.6

version graph

Package: python-pip; Maintainer for python-pip is Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>; Source for python-pip is src:python-pip (PTS, buildd, popcon).

Reported by: Rogério Brito <rbrito@ime.usp.br>

Date: Wed, 20 May 2015 08:27:02 UTC

Severity: normal

Merged with 786580

Found in version python-pip/1.5.6-5

Fixed in version python-pip/1.5.6-6

Done: Barry Warsaw <barry@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Matthias Klose <doko@debian.org>:
Bug#785787; Package python-distlib. (Wed, 20 May 2015 08:27:06 GMT) (full text, mbox, link).


Acknowledgement sent to Rogério Brito <rbrito@ime.usp.br>:
New Bug report received and forwarded. Copy sent to Matthias Klose <doko@debian.org>. (Wed, 20 May 2015 08:27:07 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Rogério Brito <rbrito@ime.usp.br>
To: submit@bugs.debian.org
Subject: [REGRESSION] python-distlib == 0.2.0-1 breaks virtualenv and tox
Date: Wed, 20 May 2015 05:20:38 -0300
Package: python-distlib
Version: 0.2.0-1
Severity: normal

Hi.

After upgrading python-distlib to 0.2.0-1 (from 0.1.9-1), I am now unable to
create virtual environments with virtualenv. More generally, these failures
with virtualenv are breaking tests with tox (which uses virtualenvs as one
of its steps).

One example:

,----[ virtualenv --verbose foo ]
| Running virtualenv with interpreter /usr/bin/python2
| Creating foo/lib/python2.7
| Symlinking Python bootstrap modules
|   Symlinking foo/lib/python2.7/lib-dynload
|   Symlinking foo/lib/python2.7/os.py
|   Ignoring built-in bootstrap module: posix
|   Symlinking foo/lib/python2.7/posixpath.py
|   Cannot import bootstrap module: nt
|   Symlinking foo/lib/python2.7/ntpath.py
|   Symlinking foo/lib/python2.7/genericpath.py
|   Symlinking foo/lib/python2.7/fnmatch.py
|   Symlinking foo/lib/python2.7/locale.py
|   Symlinking foo/lib/python2.7/encodings
|   Symlinking foo/lib/python2.7/codecs.py
|   Symlinking foo/lib/python2.7/stat.py
|   Symlinking foo/lib/python2.7/UserDict.py
|   Symlinking foo/lib/python2.7/copy_reg.py
|   Symlinking foo/lib/python2.7/types.py
|   Symlinking foo/lib/python2.7/re.py
|   Symlinking foo/lib/python2.7/sre.py
|   Symlinking foo/lib/python2.7/sre_parse.py
|   Symlinking foo/lib/python2.7/sre_constants.py
|   Symlinking foo/lib/python2.7/sre_compile.py
|   Ignoring built-in bootstrap module: zlib
|   Symlinking foo/lib/python2.7/warnings.py
|   Symlinking foo/lib/python2.7/linecache.py
|   Symlinking foo/lib/python2.7/_abcoll.py
|   Symlinking foo/lib/python2.7/abc.py
|   Symlinking foo/lib/python2.7/_weakrefset.py
| Creating foo/lib/python2.7/site-packages
| Writing foo/lib/python2.7/site.py
| Writing foo/lib/python2.7/orig-prefix.txt
| Writing foo/lib/python2.7/no-global-site-packages.txt
| Creating parent directories for foo/include
| Symlinking foo/include/python2.7
| Creating foo/bin
| New python executable in foo/bin/python2
| Changed mode of foo/bin/python2 to 0755
| Also creating executable in foo/bin/python
| Changed mode of foo/bin/python to 0755
| Testing executable with foo/bin/python2 -c "import sys;out=sys.stdout;getattr(out, "buffer", out).write(sys.prefix.encode("utf-8"))"
| Got sys.prefix result: u'/tmp/foo'
| Symlinking foo/local/lib
| Symlinking foo/local/bin
| Symlinking foo/local/include
| Creating foo/lib/python2.7/distutils
| Writing foo/lib/python2.7/distutils/__init__.py
| Writing foo/lib/python2.7/distutils/distutils.cfg
| Installing setuptools, pip...
|   Ignoring indexes: https://pypi.python.org/simple/
|   Downloading/unpacking setuptools
|   Cleaning up...
|   Exception:
|   Traceback (most recent call last):
|     File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/basecommand.py", line 122, in main
|       status = self.run(options, args)
|     File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/commands/install.py", line 290, in run
|       requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
|     File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/req.py", line 1178, in prepare_files
|       url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
|     File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/index.py", line 292, in find_requirement
|       elif is_prerelease(version) and not (self.allow_all_prereleases or req.prereleases):
|     File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/util.py", line 739, in is_prerelease
|       return any([any([y in set(["a", "b", "c", "rc", "dev"]) for y in x]) for x in parsed])
|   TypeError: 'int' object is not iterable
|   
|   Storing debug log for failure in /home/rbrito/.pip/pip.log
|   Complete output from command /tmp/foo/bin/python2 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip:
|   Ignoring indexes: https://pypi.python.org/simple/
| Downloading/unpacking setuptools
| Cleaning up...
| Exception:
| Traceback (most recent call last):
|   File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/basecommand.py", line 122, in main
|     status = self.run(options, args)
|   File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/commands/install.py", line 290, in run
|     requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
|   File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/req.py", line 1178, in prepare_files
|     url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
|   File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/index.py", line 292, in find_requirement
|     elif is_prerelease(version) and not (self.allow_all_prereleases or req.prereleases):
|   File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/util.py", line 739, in is_prerelease
|     return any([any([y in set(["a", "b", "c", "rc", "dev"]) for y in x]) for x in parsed])
| TypeError: 'int' object is not iterable
| 
| Storing debug log for failure in /home/rbrito/.pip/pip.log
| ----------------------------------------
| ...Installing setuptools, pip...done.
| Traceback (most recent call last):
|   File "/usr/lib/python3/dist-packages/virtualenv.py", line 2378, in <module>
|     main()
|   File "/usr/lib/python3/dist-packages/virtualenv.py", line 830, in main
|     symlink=options.symlink)
|   File "/usr/lib/python3/dist-packages/virtualenv.py", line 1032, in create_environment
|     install_wheel(to_install, py_executable, search_dirs)
|   File "/usr/lib/python3/dist-packages/virtualenv.py", line 975, in install_wheel
|     'PIP_NO_INDEX': '1'
|   File "/usr/lib/python3/dist-packages/virtualenv.py", line 917, in call_subprocess
|     % (cmd_desc, proc.returncode))
| OSError: Command /tmp/foo/bin/python2 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 2
`----

Downgrading python-distlib and python-distlib-whl back to 0.1.9-1 fixes the
problems that I see. Given that unrelated packages are broken, I think that
this bug should have an RC severity.

OTOH, I am not really sure which package is the *real* culprit here (if
distlib or if the other packages), which is why I am not setting the
severity to be higher than normal.

Feel free to reassign this bug to other packages and/or set its severity as
appropriate.

Also, if more information is needed, please let me know, but the bug should
be easily reproducible, I think.


Thanks,

Rogério Brito.


-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (250, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.0.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf-8, LC_CTYPE=pt_BR.utf-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages python-distlib depends on:
pn  python:any  <none>

python-distlib recommends no packages.

python-distlib suggests no packages.

-- no debconf information

-- 
Rogério Brito : rbrito@{ime.usp.br,gmail.com} : GPG key 4096R/BCFCAAAA
http://cynic.cc/blog/ : github.com/rbrito : profiles.google.com/rbrito
DebianQA: http://qa.debian.org/developer.php?login=rbrito%40ime.usp.br



Information forwarded to debian-bugs-dist@lists.debian.org, Matthias Klose <doko@debian.org>:
Bug#785787; Package python-distlib. (Thu, 21 May 2015 11:30:04 GMT) (full text, mbox, link).


Acknowledgement sent to Archan Paul <paularchan@gmail.com>:
Extra info received and forwarded to list. Copy sent to Matthias Klose <doko@debian.org>. (Thu, 21 May 2015 11:30:04 GMT) (full text, mbox, link).


Message #10 received at 785787@bugs.debian.org (full text, mbox, reply):

From: Archan Paul <paularchan@gmail.com>
To: 785787@bugs.debian.org
Subject: [REGRESSION] python-distlib == 0.2.0-1 breaks virtualenv and tox
Date: Thu, 21 May 2015 16:57:08 +0530
[Message part 1 (text/plain, inline)]
The problem is not in distlib. The problem is in pip. Steps I followed to
fix the issue :

1) Uninstalled python3-pip (1.5.6-5 debian/sid) package.
2) Used easy_install to install latest pip (6.1.1).
3) Used latest pip to install virtualenv (12.1.1).

Deb/sid packages may need update/fix otherwise pip & virtualenv can't be
used effectively.

- Archan
[Message part 2 (text/html, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Matthias Klose <doko@debian.org>:
Bug#785787; Package python-distlib. (Sun, 24 May 2015 19:36:09 GMT) (full text, mbox, link).


Acknowledgement sent to "Felix C. Stegerman" <flx@obfusk.net>:
Extra info received and forwarded to list. Copy sent to Matthias Klose <doko@debian.org>. (Sun, 24 May 2015 19:36:09 GMT) (full text, mbox, link).


Message #15 received at 785787@bugs.debian.org (full text, mbox, reply):

From: "Felix C. Stegerman" <flx@obfusk.net>
To: 786580@bugs.debian.org
Cc: 786440@bugs.debian.org, 785787@bugs.debian.org
Subject: pip and distlib mismatch breaks pip and virtualenv
Date: Sun, 24 May 2015 21:34:38 +0200
[Message part 1 (text/plain, inline)]
Hi,

I've looked at what's going on, and the problem seems to be caused by
the fact that distlib 0.1.9 uses PEP426 and 0.2.0 uses PEP440; the
latter has an extra "epoch" field.

Because pip.util (in the version included with Debian) expects the
output not to have this epoch field, it breaks.

Downgrading python-distlib and python-distlib-whl to the version in
testing (0.1.9) makes pip and virtualenv work again.

Alternatively, updating to the latest pip (which is not yet available
in Debian) would probably fix this as well.

The third option would be to temporarily patch the current pip to
support both versions of distlib.  I've attached a patch (for
pip/util.py) that seems to work.

- Felix
[pip_util.diff (text/x-diff, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Matthias Klose <doko@debian.org>:
Bug#785787; Package python-distlib. (Tue, 26 May 2015 20:51:08 GMT) (full text, mbox, link).


Acknowledgement sent to Barry Warsaw <barry@debian.org>:
Extra info received and forwarded to list. Copy sent to Matthias Klose <doko@debian.org>.

Your message did not contain a Subject field. They are recommended and useful because the title of a Bug is determined using this field. Please remember to include a Subject field in your messages in future.

(Tue, 26 May 2015 20:51:08 GMT) (full text, mbox, link).


Message #20 received at 785787@bugs.debian.org (full text, mbox, reply):

From: Barry Warsaw <barry@debian.org>
To: 785787@bugs.debian.org
Date: Tue, 26 May 2015 16:49:10 -0400
[Message part 1 (text/plain, inline)]
@Felix: Thanks for the diagnosis and patch.  It works for me and I've double
checked the patch with dstufft (upstream pip maintainer).
[Message part 2 (application/pgp-signature, inline)]

Bug reassigned from package 'python-distlib' to 'python-pip'. Request was from Barry Warsaw <barry@debian.org> to control@bugs.debian.org. (Tue, 26 May 2015 20:57:11 GMT) (full text, mbox, link).


No longer marked as found in versions distlib/0.2.0-1. Request was from Barry Warsaw <barry@debian.org> to control@bugs.debian.org. (Tue, 26 May 2015 20:57:12 GMT) (full text, mbox, link).


Marked as found in versions python-pip/1.5.6-5. Request was from Barry Warsaw <barry@debian.org> to control@bugs.debian.org. (Tue, 26 May 2015 20:57:13 GMT) (full text, mbox, link).


Changed Bug title to 'python-distlib == 0.2.0-1 breaks python-pip 1.5.6' from '[REGRESSION] python-distlib == 0.2.0-1 breaks virtualenv and tox' Request was from Barry Warsaw <barry@debian.org> to control@bugs.debian.org. (Tue, 26 May 2015 20:57:14 GMT) (full text, mbox, link).


Reply sent to Barry Warsaw <barry@debian.org>:
You have taken responsibility. (Wed, 27 May 2015 16:30:21 GMT) (full text, mbox, link).


Notification sent to Rogério Brito <rbrito@ime.usp.br>:
Bug acknowledged by developer. (Wed, 27 May 2015 16:30:21 GMT) (full text, mbox, link).


Message #33 received at 785787-close@bugs.debian.org (full text, mbox, reply):

From: Barry Warsaw <barry@debian.org>
To: 785787-close@bugs.debian.org
Subject: Bug#785787: fixed in python-pip 1.5.6-6
Date: Wed, 27 May 2015 16:27:24 +0000
Source: python-pip
Source-Version: 1.5.6-6

We believe that the bug you reported is fixed in the latest version of
python-pip, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 785787@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Barry Warsaw <barry@debian.org> (supplier of updated python-pip package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 27 May 2015 10:11:32 -0400
Source: python-pip
Binary: python-pip python3-pip python-pip-whl
Architecture: source all
Version: 1.5.6-6
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
Changed-By: Barry Warsaw <barry@debian.org>
Description:
 python-pip - alternative Python package installer
 python-pip-whl - alternative Python package installer
 python3-pip - alternative Python package installer - Python 3 version of the pa
Closes: 785787
Changes:
 python-pip (1.5.6-6) unstable; urgency=medium
 .
   [ Felix C. Stegerman ]
   * d/patches/0006-bug-785787.patch: Allow pip 1.5.6 to handle the PEP 440
     "epoch" field.  (Closes: #785787)
 .
   [ Barry Warsaw ]
   * d/control:
     - Update Vcs-* header for conversion to git-dpm.
     - Add myself to Uploaders.
   * d/watch: Update to pypi.debian.net redirector.
   * wrap-and-sort
Checksums-Sha1:
 2b7342d54953c4b4b1ca6a4203b3111ec7011208 2364 python-pip_1.5.6-6.dsc
 f876ba0e2b227cf106e0ef6fcdea478a86bb9298 19732 python-pip_1.5.6-6.debian.tar.xz
 ba6a03be01b88aa46d7f681fa3378dea9fee2087 126234 python-pip-whl_1.5.6-6_all.deb
 b99845220ef7d707d32858109f94e25e17813d7c 114264 python-pip_1.5.6-6_all.deb
 fc29b390669101fd675f1462082703cd5808d9ce 97376 python3-pip_1.5.6-6_all.deb
Checksums-Sha256:
 9401fdb49447368c106329a1463c9baed95c90b92c20f4f6fac531f35cce163c 2364 python-pip_1.5.6-6.dsc
 2d373957eaa740184c3491829a9e596cf117d72da231422ae2cfb8059b77c972 19732 python-pip_1.5.6-6.debian.tar.xz
 74eb4e7fe79ad025cd61dfaa34705d6559cf8ac17f1f907d3c6e60f4b9ad8dc2 126234 python-pip-whl_1.5.6-6_all.deb
 3aefe4020b710916ff4808b05f85b74e2fa0c07fc17a0946a056fa9e20bb183b 114264 python-pip_1.5.6-6_all.deb
 3d6aa022b1c4f65d693d02110e7b0480142df7e0b15ae0e6a31cbecc8d46b4ea 97376 python3-pip_1.5.6-6_all.deb
Files:
 77ee21ae9b0c657410776126d0182fa8 2364 python optional python-pip_1.5.6-6.dsc
 812a468dc82b01200bee759fc7a41f75 19732 python optional python-pip_1.5.6-6.debian.tar.xz
 fbfe6a9370f10075f7aece81b98c79aa 126234 python optional python-pip-whl_1.5.6-6_all.deb
 f626d9196694619576df465a92e8f043 114264 python optional python-pip_1.5.6-6_all.deb
 fa8d9cbd544a2c2112cb23e706d023a4 97376 python optional python3-pip_1.5.6-6_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJVZdmoAAoJEBJutWOnSwa/9ScP+wcBh2qaZpKyPftFfy0ON4NX
PkDj5Re6SezL34tugJ5pvINpF2rnfqtD35uQmLZFGRcqux1CmE3e8EFYNB0w51cl
zjAsv6+9LsO3yd2AULGdjlbcO2IOcIcqoIgSxPRW2Rod5/9xIOrlJXWHoBQ8h3l2
QbhE8/yHwC2uozhh5LCVn1OxxVg6m0s1SvBZi6w8x3O3WaClut11mRte33SqoUfS
YFOZLny7x9gLs4eJCvtPKiFZen64ksXkDZ8cb1cqYXVVxl4nsTCXtvAWPKAkYfdR
s4cSFJS9e3Cz9CgE6Z8WYhx75VBgdDP+DR9zApmX1dNN4pkM51F3FTWr+SOAl57G
SH0TnzITtpVRB3Vop8rovDfiugn1dZTnN+oc9489qAFbnpfbktcg85WS9+QWaEEA
veZcxl3NKFHovtSXLFPhTM+C2w7d1K3n0mIdproeVd7i4OBBdlhG93UhtgXBRZgr
/Rv0B0Fs81Ff0rcE+oUAC2SVXCzcZUQw2qhnsfZd38UGvYPG/TNetX9A5eD8HnEL
WoInGjB6ampK60Y75ArMLcUkvYs4XrnfB0nIrqLclYfdIakbu7oeoX8+fmU9Yj2j
PDBMuMVIEn2h9+AcgU/m75fZ9b+nApXQirsvQHNWcR18yZuxHFNEF3KILPsgkIUW
PbzXJJLKTjx1O3uW/rse
=TjP0
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Tue, 30 Jun 2015 07:38:37 GMT) (full text, mbox, link).


Bug unarchived. Request was from Stefano Rivera <stefanor@debian.org> to control@bugs.debian.org. (Sat, 04 Jul 2015 19:57:03 GMT) (full text, mbox, link).


Merged 785787 786580 Request was from Stefano Rivera <stefanor@debian.org> to control@bugs.debian.org. (Sat, 04 Jul 2015 20:03:14 GMT) (full text, mbox, link).


Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 02 Aug 2015 07:28:15 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Jan 4 17:43:15 2018; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.