2015-02-25 2 views
2

Это произошло как на OS X, так и на Linux. К сожалению, у меня нет точных шагов воспроизведения, но это нормально, потому что я собираюсь ответить на свой вопрос ниже.Почему мои «запросы импорта» терпят неудачу с ImportError: нет модуля с именем «request.packages.urllib3»?

Вот типичный провал:

Python 2.7.6 (default, Sep 9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import requests 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module> 
    from . import utils 
    File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/utils.py", line 26, in <module> 
    from .compat import parse_http_list as _parse_list_header 
    File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/compat.py", line 42, in <module> 
    from .packages.urllib3.packages.ordered_dict import OrderedDict 
    File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/packages/__init__.py", line 83, in load_module 
    raise ImportError("No module named '%s'" % (name,)) 
ImportError: No module named 'requests.packages.urllib3' 
>>> 

ответ

1

Я даже не могу объяснить, почему , но проблема была из-за моего имея файл с именем «email.py» в моем текущем каталоге. Я переименовал это в нечто другое, и вдруг все снова заработало.

, прикрепляя «контрольную точку» (то есть намеренное деление на ноль ошибок) в этот файл, мы можем видеть, кто импортирования: (venv):) 14:36:46 [[email protected] rack_assigner] (refunds *)$ python -c 'import refund' Traceback (most recent call last): File "<string>", line 1, in <module> File "refund.py", line 11, in <module> import requests File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/__init__.py", line 53, in <module> from .packages.urllib3.contrib import pyopenssl File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/packages/__init__.py", line 63, in load_module __import__(name) File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/packages/urllib3/__init__.py", line 10, in <module> from .connectionpool import ( File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 37, in <module> from .request import RequestMethods File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/packages/urllib3/request.py", line 6, in <module> from .filepost import encode_multipart_formdata File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/packages/urllib3/filepost.py", line 8, in <module> from .fields import RequestField File "/Users/erichanchrow/git-repositories/rack_assigner/venv/lib/python2.7/site-packages/requests/packages/urllib3/fields.py", line 1, in <module> import email.utils File "email.py", line 11, in <module> 5/0 ZeroDivisionError: integer division or modulo by zero

+0

'email' это имя встроенного модуль, на который «запрос», похоже, полагается. Похоже, что 'запросы' пытались импортировать« электронную почту », получили ошибку и сделали плохое предположение о причине ошибки. – user2357112

Смежные вопросы