我最近开始使用python,现在我想做一个可以显示我的Twitter feed的应用程序。所以我下载了一个名为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有没有人知道我在安装过程中做错了什么?Thx
发布于 2014-06-09 04:45:43
在我的例子中,安装requests oauthlib修复了这个问题
sudo pip install requests-oauthlib发布于 2015-06-24 21:56:22
这是因为requests版本的原因。
从requests 2.0.0开始就可以使用requests.utils.to_native_string
所以只要更新requests就行了
pip install -U requests查看更多详细信息here on another thread
发布于 2014-05-12 04:17:47
这听起来像是您的安装出现了问题。方法to_native_string应该在Python安装的requests\utils.py中定义。
我在Ubuntu上,安装了Twitter模块,可以毫无错误地导入它。当我在/usr/lib/python2.7/dist-packages/requests/utils.py中查看我的安装时,有一个定义在那里的to_native_string方法。
从您得到的错误中可以看出,在您的安装中,要么没有utils.py,要么如果有,它就不包含该方法。
我建议检查你的安装,看看是不是这样。如果它确实丢失了,我建议取消安装并重新安装。您可能希望尝试使用virtualenv环境,这样它就可以充当沙箱(在这种情况下,只要当前安装足够完整,可以运行virtualenv和pip)。
如果utils.py确实存在并且确实包含具有该名称的方法,我建议运行pudb或pdb之类的调试器(pudb不是内置的,但它的功能更全面),并逐步检查import,看看这是否会带来任何额外的影响。
https://stackoverflow.com/questions/23597307
复制相似问题