import urllib3 works in terminal but not on IDLE
我使用的是Mac OSX 10.10.5,Python版本3.5.2和IDLE版本3.5.2。
我是Python的新手,我正在尝试在IDLE中使用urllib3模块。我已成功使用终端中的以下代码(返回数字200):
1 2 3 4 | import urllib3 http = urllib3.PoolManager() r = http.request('GET', 'http://httpbin.org/robots.txt') r.status |
但是相同的代码在IDLE中不起作用。在IDLE我收到以下错误:
1 2 3 4 | Traceback (most recent call last): File"/Users/faculty/Documents/Python/Scraping_v1_d1.py", line 1, in <module> import urllib3 ImportError: No module named 'urllib3' |
我还尝试在IDLE中使用以下其他代码:
1 2 3 4 | import urllib3 htmlfile = urllib3.urlopen("http://google.com") htmltext = htmlfile.read() print (htmltext) |
但我得到了同样的错误。
在我的site-packages文件夹中,我有这些pip和urllib3文件夹:
1)pip
2)pip-9.0.1.dist-info
3)urllib3
4)urllib3-1.19.dist-info
我找到了一个建议我尝试执行以下操作的来源:
1 2 3 | import sys sys.version sys.path |
这是终端的回复:
import sys
sys.version
'2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)]'
sys.path
['', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', '/Library/Python/2.7/site-packages']BLOCKQUOTE>
BLOCKQUOTE>当我在IDLE中输入相同的代码时,没有任何反应(这是我得到的):
========= RESTART:/Users/faculty/Documents/Python/Scraping_v1_d1.py =========
我已经广泛搜索了网络和stackoverflow.com,但无法找到解决方案。有没有人有任何见解?
谢谢!
就像已经显示的错误信息一样:
您的Mac上有两个Python版本。 Python 3.5和Python 2.7(默认情况下)。
IDLE过程取决于IDLE启动的python版本。 因此,请确保您使用相同的Python版本(相同的IDLE)。
命令"pip install urllib3"仅适用于默认的python版本 - 这与IDLE中的python版本不同。所以你只需要为Python3.5安装urllib3。