异常值:导入Geocoder时无法导入名称TimeoutStateError
我正在尝试从一个地址获取坐标,使用的是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
,这样就可以正常工作了。
那么接下来我该怎么做呢?我觉得这个库应该是一个常用的库。
3 个回答
0
你运行的代码是什么?
不过看起来你没有写出完整的错误名称,应该是 ModuleName.TimeoutStateError。根据我快速搜索和你说的内容,应该是 urllib3.TimeoutStateError。
0
我用其他方法来实现这个功能。我是通过解析谷歌的json格式来做到的。谢谢。
1
在我的情况下,正如我在原问题下评论的那样,问题出在我通过rpm包安装了urllib3
和requests
这两个库。把它们都卸载掉,然后通过pip
重新安装,结果让Python的安装状态变得正确,导入requests
时就没有异常了。