关于python:import urllib3在终端中工作但在IDLE上不起作用

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']


当我在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。