这在OS X和Linux上都发生过。不幸的是,我没有确切的重新编程步骤,但这没关系,因为我将在下面回答我自己的问题。
这是一个典型的故障:
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'
>>>
我甚至无法解释为什么,但问题是由于我在当前目录中有一个名为"email.py"的文件。我将其重命名为其他名称,突然一切又开始工作了。
通过在该文件中插入一个"断点"(即故意除以零的错误),我们可以看到是谁在导入它:
(venv):) 14:36:46 [erichanchrow@Eric-Hanchrows-iMac 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