import httplib2在mac终端中工作,但不在IDLE shell中工作

时间:2013-05-14 19:10:25

标签: python-2.7 osx-mountain-lion python-idle httplib2

我在使用python网站包httplib2在IDLE中正常工作时遇到了很大问题。我正在使用OSX 10.8.3和python 2.7的mac。 我使用以下安装步骤来安装带有macports的httplib2:

1. $sudo port install py27-httplib2

我通过使用:

检查了它的安装情况
2. $port contents py27-httplib2

在以下目录中返回了一大堆文件(我只显示前三个):

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/httplib2-0.8-py2.7.egg-info
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/httplib2/__init__.py
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/httplib2/__init__.pyc

然后我将以下行添加到我的.bash_profile文件中:

$echo "export PYTHONPATH=\"/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/httplib2:$PYTHONPATH\"">>.bash_profile
$source .bash_profile

我检查过路径确实已经融入环境中(但我也注意到我的路径很乱):

$env
PATH=/sw/bin:/sw/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:
   /opt/local/sbin:/opt/local/bin:/opt/local/sbin:
   /Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:
   /usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/mysql/bin:
   /Users/lydia/programs/pagan/bin
PWD=/Users/lydia
LANG=en_AU.UTF-8
SHLVL=1
HOME=/Users/lydia
PYTHONPATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/httplib2:
   /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:

然后我调用了python并在终端窗口中运行了2行代码,如下所示:

$python
>>> import sys
>>> import httplib2

如果我在IDLE中运行相同的两行代码,我会收到以下错误:

>>> import httplib2
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import httplib2
 ImportError: No module named httplib2

我的问题是:我该怎么办才能让IDLE认识到安装了httplib2并且有一个有效的路径?因为我需要让我的代码在各种机器上运行,所以我无法在代码中硬编码httplib2的路径。

提前致谢!

1 个答案:

答案 0 :(得分:1)

1)你永远不应该关心python解释器的功能。它与运行python程序不同,在我看来它没用。而是将代码键入名为my_prog.py的文件中,然后运行它:

$ python my_prog.py

2)你永远不应该关心IDLE的作用,因为它是可以想象的最糟糕的文本编辑器。你的mac带有vim,你可以通过这样做来学习如何使用:

$ vimtutor

一旦你学会了基础知识,你就可以升级并安装macvim,以及生动的粉笔配色方案,以获得真正精美的编辑器。您可以使用macvim使用数千个有用的插件。您可以在谷歌搜索“最好的macvim插件”,看看你可能想要哪些。

3)为什么使用macports来安装模块?您可以下载该模块,然后解压缩它:

.../Downloads$ tar xfvz some-name.tar.gz

然后cd进入新创建的目录:

.../Downloads$ cd some-name

然后阅读README或INSTALL文件以获取有关如何安装模块的说明,但通常您所做的只是:

 .../Downloads/some-name$ sudo python setup.py install

这会将python模块安装在默认位置,在我的mac上不是/ opt / local;它是:

  

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

你不应该为那些如此微不足道的东西需要macport。

4)在非标准位置安装模块时,其他人看起来有IDLE问题,因此您可能想要搜索Google并查看是否可以在那里找到解决方案:例如: http://ubuntuforums.org/showthread.php?t=253555