异常值:导入Geocoder时无法导入名称TimeoutStateError

时间:2014-09-07 18:57:58

标签: python django python-2.7 import

我正在尝试从地址获取坐标并使用pygeocoder来完成它。但是在运行程序后立即得到了这个例外。有人帮忙检查一下吗?

回溯:

File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response
  103.                     resolver_match = resolver.resolve(request.path_info)

File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in resolve
  319.             for pattern in self.url_patterns:

File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in url_patterns
  347.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
  342.             self._urlconf_module = import_module(self.urlconf_name)

File "/Library/Python/2.7/site-packages/django/utils/importlib.py" in import_module
  35.     __import__(name)

File "/Users/Jack/fanju/src/wonew/grubcat/urls.py" in <module>
  10. from fanju.views import upload_app

File "/Users/Jack/fanju/src/wonew/grubcat/fanju/views.py" in <module>
  26. from fanju.views_restaurant import add_dummy_menu

File "/Users/Jack/fanju/src/wonew/grubcat/fanju/views_restaurant.py" in <module>
  11. from pygeocoder import Geocoder

File "/Library/Python/2.7/site-packages/pygeocoder.py" in <module>
  19. import requests

File "/Library/Python/2.7/site-packages/requests/__init__.py" in <module>
  58. from . import utils

File "/Library/Python/2.7/site-packages/requests/utils.py" in <module>
  23. from .compat import parse_http_list as _parse_list_header

File "/Library/Python/2.7/site-packages/requests/compat.py" in <module>
  7. from .packages import charade as chardet

File "/Library/Python/2.7/site-packages/requests/packages/__init__.py" in <module>
  3. from . import urllib3

File "/Library/Python/2.7/site-packages/requests/packages/urllib3/__init__.py" in <module>
  16. from .connectionpool import (

File "/Library/Python/2.7/site-packages/requests/packages/urllib3/connectionpool.py" in <module>
  12. from .util import resolve_cert_reqs, resolve_ssl_version, assert_fingerprint

File "/Library/Python/2.7/site-packages/requests/packages/urllib3/util/__init__.py" in <module>
  18. from .timeout import (

File "/Library/Python/2.7/site-packages/requests/packages/urllib3/util/timeout.py" in <module>
  4. from ..exceptions import TimeoutStateError

Exception Type: ImportError at /

Exception Value: cannot import name TimeoutStateError

我尝试在urllib3/util/timeout.py中更改了一行。 我将行from ..exceptions import TimeoutStateError更改为 from urllib3.exceptions import TimeoutStateError并且有效。

那我接下来该怎么办?我想这个lib应该是一个常见的库

3 个答案:

答案 0 :(得分:1)

在我的情况下,正如我在原始问题下评论的那样,问题是我将urllib3requests库安装为rpm包。删除它们并通过pip安装导致Python安装处于正确状态,导入requests无一例外。

答案 1 :(得分:0)

您正在运行的代码是什么?

但好像你没有编写异常的全名,它应该是 ModuleName .TimeoutStateError,来自快速的谷歌搜索,你说它似乎应该是 urllib3.TimeoutStateError

答案 2 :(得分:0)

我用其他方式来做。通过使用从谷歌解析json格式。谢谢。