相同的解释器(?),Spyder中的不同软件包版本



我收到了这个导入错误,正如这个答案所表明的那样,这是因为requests包已过期。我使用 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:Python27python.exe指向相同的解释器,并且如果我检查正在使用的python版本:

import sys
print(sys.version)

我到处都得到相同的结果:'2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]'.

我会检查两个不同的可能问题:

1) 确保删除导入请求的模块的 .pyc 文件 - 我相信 Spyder 中有一个设置来确保每次调用 UMD 时都重新加载解释器?

2)即使指定了解释器,也要确保Spyder正在使用的站点包也被指定。

安装Spyder时,它可能创建了一个虚拟环境,该环境在安装时复制了系统站点包的内容。 虽然您可能正在更新系统软件包,但也许Spyder正在查看的虚拟环境没有更新?

最新更新