安装后,"ImportError:没有名为httplib2的模块"

Ben*_*Ben 38 python pip httplib2 python-2.7

我很难理解为什么ImportError: No module named httplib2在确保安装httplib2之后我会得到.见下文:

$ which -a python
/usr/bin/python
/usr/local/bin/python 

$ pip -V
pip 1.4.1 from /usr/local/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg (python 2.7

$ pip list
google-api-python-client (1.2)
httplib2 (0.8)
pip (1.4.1)
pudb (2013.5.1)
Pygments (1.6)
setuptools (1.3.2)
wsgiref (0.1.2)

$ pip install httplib2
Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/site-packages
Cleaning up...

$ python
Python 2.7.5 (default, Sep 12 2013, 21:33:34) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import httplib2
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 ImportError: No module named httplib2
Run Code Online (Sandbox Code Playgroud)

我也做到了

$ find / | grep httplib2
/usr/local/lib/python2.7/site-packages/httplib2
/usr/local/lib/python2.7/site-packages/httplib2/__init__.py
[... edited for brevity]
Run Code Online (Sandbox Code Playgroud)

管道!>在天堂握拳<

ken*_*orb 44

如果有多个Python实例(2和3),请尝试不同的pip,例如:

Python 2:

pip2 install httplib2 --upgrade
Run Code Online (Sandbox Code Playgroud)

Python 3:

pip3 install httplib2 --upgrade
Run Code Online (Sandbox Code Playgroud)

要检查安装的内容和位置,请尝试:

pip list
pip2 list
pip3 list
Run Code Online (Sandbox Code Playgroud)

然后确保您使用正确的Python实例(如另一个答案中所建议的那样).

  • 谢谢你的回答." - 升级"非常重要. (6认同)

Ben*_*Ben 16

将此添加到.bash_profile export PATH=/usr/local/bin:$PATH

然后得到:

$ which -a python
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python
$ python
Python 2.7.6 (default, Dec 27 2013, 14:07:24) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import httplib2
>>> 
Run Code Online (Sandbox Code Playgroud)

不能确定为什么pip安装/usr/local而不是系统默认,但现在它们是相同的,所以它现在正在工作.