【问题标题】:No module named ordered_dict error for from twilio.rest import Client从 twilio.rest 导入客户端没有名为 ordered_dict 的模块错误
【发布时间】:2019-01-15 08:03:03
【问题描述】:

aks.py:

from twilio.rest import Client

执行上述代码时,出现错误:

Traceback (most recent call last):
  File "aks.py", line 10, in <module>
    from twilio.rest import Client
  File "/usr/local/lib/python2.7/dist-packages/twilio/rest/__init__.py", line 14, in <module>
    from twilio.http.http_client import TwilioHttpClient
  File "/usr/local/lib/python2.7/dist-packages/twilio/http/http_client.py", line 1, in <module>
    from requests import Request, Session, hooks
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 63, in <module>
    from . import utils
  File "/usr/lib/python2.7/dist-packages/requests/utils.py", line 24, in <module>
    from ._internal_utils import to_native_string
  File "/usr/lib/python2.7/dist-packages/requests/_internal_utils.py", line 11, in <module>
    from .compat import is_py2, builtin_str, str
  File "/usr/lib/python2.7/dist-packages/requests/compat.py", line 46, in <module>
    from .packages.urllib3.packages.ordered_dict import OrderedDict
ImportError: No module named ordered_dict

我尝试了各种方法,例如将 Urllib 降级到 1.23、卸载、重新安装 twilio 和 sudo -H pip2.7 install twilio

  • python 版本:Python 2.7.13
  • pip 版本:来自 /usr/local/lib/python3.5/dist-packages/pip (python 3.5) 的 pip 18.1
  • 操作系统:Raspbian Stretch

【问题讨论】:

  • 您使用的 pip 版本适用于 python 3.5,而您尝试使用 python 2.7 运行代码,为什么?
  • 我只是尽我所能,因为这个问题太让我烦恼了。
  • 之前已经解决了,但是从今天早上开始一直重复这个错误。
  • 我认为您的问题可能与:stackoverflow.com/questions/35180322/…
  • 那些解决方案对我不起作用

标签: python python-2.7 twilio twilio-api urllib3


【解决方案1】:

我的一个项目依赖项“google-endpoints”依赖于“Google Endpoints API Management”,它依赖于请求,请求依赖于 urllib3,但是帖子请求不支持已安装的 urllib3==1.24

这个问题可以通过安装以前的稳定版本的urllib3来解决:

pip install urllib3==1.23

【讨论】:

    【解决方案2】:

    INSTALLED_APPS = [ 'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','orders','products', 'profiles', ]我也有同样的问题。请去检查设置安装的应用程序。天气您的应用存在于设置部分中

    【讨论】:

    • 您能否详细说明检查和/或预期结果/内容所需的步骤以及如何解决 OP 的问题?
    • 这里他正在从另一个类或文件中导入文件。他要做的是必须在设置中添加应用程序的名称。在这种情况下,他调用“OrderdDict”的库应由 system.from .packages.urllib3.packages.ordered_dict import OrderedDict 理解。系统无法调用此库。他必须转到设置文件并相应地进行更改。他必须在设置中调用客户端。
    【解决方案3】:

    我通过制作python 3的虚拟环境解决了这个问题,它可以正常工作。 我认为由于某种原因 twilio 在 python 2.7 上无法正常工作

    【讨论】:

    • 我认为,如果您使用 Python 2.7 的 pip 安装了 twilio,那么它会起作用。我怀疑使用 pip 从 Python 3.5 安装安装到您的 Python 2.7 安装运行的不同位置,
    • 我尝试使用 pip 2.7 安装它,但它给出了上述错误
    • 我发现在 Python 中使用 virtualenv 有助于安装依赖项,无论版本如何。让它与 Python 3 一起使用可能会更好,但我相信该库仍然支持 Python 2。
    猜你喜欢
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 2018-07-10
    • 2015-11-30
    • 2012-05-25
    • 2012-03-16
    • 2011-12-10
    相关资源
    最近更新 更多