1

我在让 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

我检查了这些路径确实已经被合并到环境中(但我也注意到我的 PATH 很乱):

$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 的路径。

提前致谢!

4

1 回答 1

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

对于如此微不足道的事情,您不应该需要 macports。

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

于 2013-05-14T19:21:31.540 回答