2013-05-14 77 views
0

我在获取python站点包httplib2在IDLE中正常工作时遇到了很大问题。我正在使用Mac OS X 10.8.3和Python 2.7。 我用下面的安装步骤来安装httplib2都用的MacPorts:导入httplib2在mac终端中工作但不是IDLE shell

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

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 

阅读自述或安装文件,了解如何安装该模块的方向。然而,通常你所做的只是:

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

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

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

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

4)在非标准位置安装模块时,看起来其他人在使用IDLE时遇到问题,因此您可能需要搜索谷歌并查看是否可以在其中找到解决方案。 http://ubuntuforums.org/showthread.php?t=253555

+0

非常感谢@ 7stud!你的指示完美工作,节省了我几个小时的工作。对于像我这样的其他新手,我开始使用macports卸载我以前的安装(https://weblion.psu.edu/trac/weblion/wiki/MacPorts),然后我按照@ 7stud的指示重新安装httplib2。我必须做的唯一改变是在'python setup.py install'行前添加sudo,这样可执行文件就可以执行所有必须做的事情。再次感谢@ 7stud! – Lydia

+0

@Lydia,不客气。我忘了sudo!我会改变我的帖子。 – 7stud

相关问题