Requests fait partie de la lib standard !
jeudi 29 mai 2014 à 07:07Enfin, presque :)
J’étais en train d’installer en vieux requirements.txt quand soudain :
File " /usr/lib/python2.7/dist-packages/pip/download.py", line 23, in <module> from requests.adapters import BaseAdapter ImportError: No module named adapters
Wut ?
Mon erreur était due à une version de requests trop ancienne. J’upgrade et ça remarche. Mais ça m’a intrigué :
⟩ grin "requests" /usr/lib/python2.7/dist-packages/pip/ /usr/lib/python2.7/dist-packages/pip/download.py: 22 : import requests, six 23 : from requests.adapters import BaseAdapter 24 : from requests.auth import AuthBase, HTTPBasicAuth 25 : from requests.compat import IncompleteRead 26 : from requests.exceptions import InvalidURL, ChunkedEncodingError 27 : from requests.models import Response 28 : from requests.structures import CaseInsensitiveDict 120 : # Store the new username and password to use for future requests 182 : # We only work for requests with a host of localhost 211 : class PipSession(requests.Session): 548 : except requests.HTTPError as exc: /usr/lib/python2.7/dist-packages/pip/index.py: 17 : import html5lib, requests, pkg_resources 18 : from requests.exceptions import SSLError 80 : # The Session we'll use to make requests 689 : except requests.HTTPError as exc: 692 : except requests.ConnectionError as exc: 697 : except requests.Timeout:
Je regarde le code source github, qui diffère de celui de mon système :
from pip._vendor.requests.adapters import BaseAdapter, HTTPAdapter from pip._vendor.requests.auth import AuthBase, HTTPBasicAuth from pip._vendor.requests.compat import IncompleteRead from pip._vendor.requests.exceptions import ChunkedEncodingError
Mais ça reste bien requests.
Donc, si vous avez la 3.4, vous avez pip installé, qui maintenant embed requests. Donc Python 3.4 vient forcément avec requests \o/
Si vous supportez uniquement cette plateforme, vous pouvez faire :
try: import requests except ImportError: import pip._vendor.requests as requests
Et bénéficier de requests sans rien installer.
Tout ça pour ça.