2012-09-19 76 views
2

我已經安裝了運行OS X 10.8,Xcode 4.4的MacBook Pro。我最近安裝lxml的,但是當我去導入它,我得到了以下內容:如何糾正我在OS X 10.8上的Python/pip配置?

MacBook-Pro:~ jedc$ sudo pip install lxml==2.3.5 
Password: 
Downloading/unpacking lxml==2.3.5 
    Downloading lxml-2.3.5.tar.gz (3.2Mb): 3.2Mb downloaded 
    Running setup.py egg_info for package lxml 
    Building lxml version 2.3.5. 
    Building without Cython. 
    Using build configuration of libxslt 1.1.26 
    warning: no previously-included files found matching '*.py' 
Installing collected packages: lxml 
    Running setup.py install for lxml 
    Building lxml version 2.3.5. 
    Building without Cython. 
    Using build configuration of libxslt 1.1.26 
    building 'lxml.etree' extension 
    /usr/bin/cc -fno-strict-aliasing -O3 -w -pipe -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/libxml2 -I/usr/local/Cellar/python/2.7.1/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.4-x86_64-2.7/src/lxml/lxml.etree.o -w -flat_namespace 
    /usr/bin/cc -L/usr/local/Cellar/readline/6.1/lib -bundle -undefined dynamic_lookup -L/usr/local/Cellar/readline/6.1/lib build/temp.macosx-10.4-x86_64-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.4-x86_64-2.7/lxml/etree.so 
    building 'lxml.objectify' extension 
    /usr/bin/cc -fno-strict-aliasing -O3 -w -pipe -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/libxml2 -I/usr/local/Cellar/python/2.7.1/include/python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.4-x86_64-2.7/src/lxml/lxml.objectify.o -w -flat_namespace 
    /usr/bin/cc -L/usr/local/Cellar/readline/6.1/lib -bundle -undefined dynamic_lookup -L/usr/local/Cellar/readline/6.1/lib build/temp.macosx-10.4-x86_64-2.7/src/lxml/lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.4-x86_64-2.7/lxml/objectify.so 

Successfully installed lxml 
Cleaning up... 
MacBook-Pro:~ jedc$ python 
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import lxml 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named lxml 

我已經清楚地得到的東西配置不正確,因爲LXML安裝成功,但Python不能找到它。這裏的其他信息:

MacBook-Pro:~ jedc$ which python 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python 
MacBook-Pro:~ jedc$ which pip 
/usr/local/bin/pip 
MacBook-Pro:~ jedc$ echo $PATH 
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/go/bin:/Users/jedc/.rvm/bin 

我的〜/ .bash_profile中包含此:

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 
export PATH 

我被告知,(以前在某些時候)有可能這是我搞砸了通過安裝非Apple的默認版本的Python。 任何人都可以幫我弄清楚我需要做些什麼來診斷並修復它?

+0

我想你需要安裝Homebrew的Python和'pip'版本。 – Blender

+0

鑑於您至少安裝了兩個非Apple版本的Python 2.7,第一個問題是:您是否需要其中一種或兩種版本? (Homebrew特別建議不要使用他們的產品,除非必須。Python.org建議您可能希望他們的產品比Apple保持更新,但2.7.1與Apple的產品相同,所以您沒有獲得這種好處) – abarnert

回答

6

pip命令安裝安裝在/usr/local/bin不同的Python(一個,你會發現,爲/usr/local/bin/python進口的作品。

您需要install pip seperately你其他的Python(一種在/Library/Frameworks/Python.framework/Versions/2.7/bin/python)有安裝該Python版本LXML。

使用/Library/Frameworks/Python.framework/Versions/2.7/pip以確保正確的pip命令是用來安裝lxml一旦pip已安裝完畢。

+0

嗯,試過了,得到了以下結果:'將腳本腳本安裝到/Library/Frameworks/Python.framework/Versions/2.7/bin 將pip-2.7腳本安裝到/Library/Frameworks/Python.framework/Versions/ 2.7/bin 成功安裝pip'然後'pip install lxml 需求已經滿足(使用--upgrade升級):/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages中的lxml 正在清理......'我仍然得到'ImportError:No module named lxml' –

+1

系統Python在'/ Library/Frameworks/Python.framework/Versions/2.7/bin/python'中是* not *。它位於'/ System/Library/Frameworks/Python.framework/Versions/2.7/bin/python'中。從顯示的版本信息看來,這似乎是python.org python 2.7.2,而不是10.8中的Apple提供的Python 2.7.2。 –

+0

那麼爲什麼要把pip安裝到'/ usr/local/Cellar/python/2.7.1'?你還有一個自制的蟒蛇安裝? –