我得到了这个import error,因为requests
包已过期,因此answer表示会发生这种情况。我使用pip
更新了包,但仍然遇到了同样的错误。所以我尝试了from requests.utils import to_native_string
,令我惊讶的是,在命令提示符shell或IDLE中都可以正常工作,但在Spyder中抛出错误。我检查了requests
包的版本:
import requests
print(requests.__version__)
Spyder中的版本号('1.2.3'
)确实与IDLE或cmd shell('2.7.0'
)中的版本号不同。我无法解释为什么会出现这种情况,因为Spyder在C:\Python27\python.exe
指向同一个解释器,如果我检查正在使用的python版本:
import sys
print(sys.version)
我到处都得到相同的结果:'2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]'
。
答案 0 :(得分:0)
我会查看两个不同的可能问题:
1)确保删除导入请求的模块的.pyc文件 - 我相信Spyder中有一个设置可以确保每次调用UMD时都会重新加载解释器吗?
2)即使指定了解释器,也要确保指定了Spyder正在使用的站点包。
安装Spyder时,它可能会创建一个虚拟环境,在安装时复制系统站点包的内容。虽然您可能正在更新系统软件包,但Spyder正在查看的虚拟环境是否未更新?