Hello Nicolas, thanks for the report! On Thursday 23 October 2014 00:47:56 Nicolas CANIART wrote: > The new version of python3-requests/python-requests (2.4.3) breaks > pip which in turn breaks virtualenv (see bug #766261).
Yes, discovered myself, unfortunately! > The request.compat module used to export a IncompleteRead > module which virtualenv uses. But this symbol is no longer defined there > and thus any package relying on it is prone to break. > > Temporarily removing this package from unstable or uploading a version > of the package that is patched so it exports the symbol in question > again, seems advisable considering the amount of reverse dependency > this package has (a quick grep in /usr/lib/python3/dist-package show > no other package on my system but I have only a few of those reverse > dependencies installed). I prefer to patch requests, because I want 2.4.3-1 in Jessie. Fortunally, accordingly to codesearch.d.n: http://codesearch.debian.net/search?prev=&q=filetype%3Apython+from+requests.compat+import&skip=0 few packages use requests.compat. python-pip seems to be the only package to break since the only difference between v2.3.0 and v2.4.3 is: $ git diff v2.3.0 v2.4.3 requests/compat.py diff --git a/requests/compat.py b/requests/compat.py index bdf10d6..be5a1ed 100644 --- a/requests/compat.py +++ b/requests/compat.py @@ -75,7 +75,9 @@ is_solaris = ('solar==' in str(sys.platform).lower()) # Complete guess. try: import simplejson as json -except ImportError: +except (ImportError, SyntaxError): + # simplejson does not support Python 3.2, it thows a SyntaxError + # because of u'...' Unicode literals. import json # --------- @@ -90,7 +92,6 @@ if is_py2: from Cookie import Morsel from StringIO import StringIO from .packages.urllib3.packages.ordered_dict import OrderedDict - from httplib import IncompleteRead builtin_str = str bytes = str @@ -106,7 +107,6 @@ elif is_py3: from http.cookies import Morsel from io import StringIO from collections import OrderedDict - from http.client import IncompleteRead builtin_str = str str = str So I'm going to patch requests to export IncompleteRead form the httplib module (httplib is a module of the Python standard library so it will be a trivial patch) both for Python 2 and Python 3. > Looking at pip source code on [1], it seems this symbol is no longer > used so you may also want to coordinate with the pip maintainer > (there are no newer release of pip, as of today). Well, I will fix on requests side just know, since the freeze is around the corner, but I'm not contrary on coordinate with the pip maintainer! ;) I will also add to my workflow testing pip after running requests' tests: they need Internet connection so I run them manually. Cheers, -- Daniele Tricoli 'Eriol' http://mornie.org -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org