I got this import error, which as this answer indicates occurs because the requests
package is out of date. I updated the package using pip
, but still got the same error. So I tried from requests.utils import to_native_string
, which to my surprise works just fine in either the command prompt shell or IDLE, but throws an error in Spyder. I checked the version of the requests
package:
import requests
print(requests.__version__)
The version number in Spyder ('1.2.3'
) is indeed different from the version number in IDLE or the cmd shell ('2.7.0'
). I am a loss to explain why this would be the case, however, because Spyder points to the same interpreter at C:\Python27\python.exe
and if I check the version of python being used:
import sys
print(sys.version)
I get the same result everywhere: '2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]'
.
I would check out two different possible issues:
1) Make sure that the .pyc file of the module that is importing requests is deleted - I believe there is a setting in Spyder to ensure the interpreter gets reloaded each time called the UMD?
2) Even though the interpreter is specified, make sure that the site-packages that Spyder is using is also specified.
It is possible that when Spyder was installed, it created a virtual env that copied the contents of the system site-packages at the time of installation. While you may be updating the system packages, perhaps the virtual env that Spyder is looking at is not being updated?