2013-05-14 75 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

相關問題