【问题标题】:cannot import Python-Twitter无法导入 Python-Twitter
【发布时间】:2014-06-29 02:57:54
【问题描述】:

我最近开始使用 python,现在我正在寻找一个显示我的 Twitter 提要的应用程序。所以我下载了一个名为 Python-Twitter 的模块(不确定它是否叫那个)并安装了它。但是现在每次我尝试导入它时都会收到这个错误:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import twitter
  File "build\bdist.win32\egg\twitter.py", line 38, in <module>
  File "C:\Python27\lib\site-packages\requests_oauthlib-0.4.0-py2.7.egg\requests_oauthlib\__init__.py", line 1, in <module>
    from .oauth1_auth import OAuth1
  File "C:\Python27\lib\site-packages\requests_oauthlib-0.4.0-py2.7.egg\requests_oauthlib\oauth1_auth.py", line 4, in <module>
    from requests.utils import to_native_string
ImportError: cannot import name to_native_string

有谁知道我在安装过程中可能做错了什么?谢谢

【问题讨论】:

    标签: python twitter python-module


    【解决方案1】:

    这是因为requests 版本。

    requests.utils.to_native_stringrequests 2.0.0 起可用

    所以只需更新requests

    pip install -U requests
    

    查看更多详情here on another thread

    【讨论】:

    • 经过一番折腾,这就是解决我的问题的方法。谢谢!
    【解决方案2】:

    在我的情况下,安装 requests-oauthlib 修复了它

    sudo pip install requests-oauthlib
    

    【讨论】:

    • 这实际上解决了这个问题 - 可能是因为请求库的旧版本。
    • 这确实是因为requests lib 的旧版本,请参阅下面的答案。
    【解决方案3】:

    这听起来像是您的安装问题。方法 to_native_string 应该在 Python 安装的 requests\utils.py 中定义。

    我在 Ubuntu 上,安装了 Twitter 模块,可以毫无错误地导入它。当我查看我的安装时,在/usr/lib/python2.7/dist-packages/requests/utils.py 中,那里定义了一个to_native_string 方法。

    您收到的错误暗示在您的安装中,没有 utils.py,或者,如果有,它不包含该方法。

    我建议检查您的安装,看看是否是这种情况。如果确实丢失了,我建议您取消安装并重新安装。您可能想尝试使用virtualenv 环境,以便它可以充当沙箱(在这种情况下,您可以保持当前安装不变,只要它足够完整以运行virtualenvpip)。

    如果utils.py 确实存在并且确实包含具有该名称的方法,我建议运行诸如pudbpdb 之类的调试器(pudb 不是内置的,但它的功能更全面) ,然后通过import 看看是否有任何额外的亮点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-30
      • 2016-04-15
      • 2015-06-22
      • 2019-10-25
      • 2010-10-11
      • 2019-05-07
      相关资源
      最近更新 更多