2012-05-19 74 views
6

嘗試了各種途徑,但沒有運氣。我正在使用10.7.4的MBP。我不記得上次在我的Mac上安裝Python時出現這麼多問題。請幫我在我的本地機器上使用lxml,而不是依賴SVN提交,在Linux機器上遠程運行更新。如何在Mac OS X 10.7.4上安裝lxml?我用盡了所有選項

$ sudo STATIC_DEPS=true /usr/bin/easy_install-2.7 lxml 
Password: 
Searching for lxml 
Reading http://pypi.python.org/simple/lxml/ 
Reading http://codespeak.net/lxml 
Best match: lxml 2.3.4 
Downloading http://lxml.de/files/lxml-2.3.4.tgz 
Processing lxml-2.3.4.tgz 
Running lxml-2.3.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-mbyEtk/lxml-2.3.4/egg-dist-tmp-O_t_3P 
Building lxml version 2.3.4. 
Latest version of libiconv is 1.14 
Downloading libiconv into libs/libiconv-1.14.tar.gz 
error: [Errno 60] Operation timed out 

試過,沒有運氣

$ python setup.py build

$ STATIC_DEPS=true sudo easy_install --allow-hosts=lxml.de,*.python.org lxml 
$ sudo pip install lxml 

llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -I/usr/include/libxml2 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.7-intel-2.7/src/lxml/lxml.etree.o -w -flat_namespace 

unable to execute llvm-gcc-4.2: No such file or directory 

error: command 'llvm-gcc-4.2' failed with exit status 1 
+0

那麼你的'〜/將該.pip/pip.log'說? – mata

+3

他錯過了C編譯器。 – larsks

+0

@mata:-bash:/Users/ThinkCode/.pip/pip.log:沒有這樣的文件或目錄 – ThinkCode

回答

7

我第一次安裝MacPorts,然後執行以下操作:

$ sudo port install python27 py27-lxml 

這給了我一個功能LXML安裝。

關於您的錯誤消息,您似乎錯過了pip用於編譯lxml(llvm-gcc-4.2)的編譯器命令。你有沒有安裝OS X開發工具?你應該在/usr/bin/llvm-gcc-4.2找到該文件;如果不存在,則可能需要下載並安裝開發包。

您可以通過App Store安裝XCode開發人員工具。如果您閱讀應用商店中的評論,則會注意到爲了使命令行工具可用,您需要單獨安裝它們。在XCode中,轉到首選項 - >下載並下載「命令行工具」包。

+0

我可以在沒有MacPorts的情況下安裝嗎? – ThinkCode

+1

當然,這是可能的。但總的來說,我寧願花我的時間*使用*軟件,所以我很樂意利用那些使安裝*軟件更容易的事情。 – larsks

+0

我會等待任何其他的答案,如果我沒有得到lxml安裝的任何地方,我最終會訴諸MacPorts。非常感謝。 Upvoted。 – ThinkCode

1

我不得不這樣做: 「sudo的港口卸載PY-LXML」, 「sudo的港口卸載PY24-LXML」 和 「sudo的港口安裝py27-LXML」,然後我卸載LXML與PIP ,並重新安裝點和它的工作!

+1

謝謝!你的卸載技巧幫助我解決了類似的問題,在http://stackoverflow.com/questions/22752332/cannot-install-lxml-3-3-3-on-osx-10-9-with-buildout –

3

對於正在瀏覽此頁面的未來用戶,以下是在Mac OSX上安裝lxml的分步指南。

  1. 轉到Xcode,並轉到首選項,然後轉到下載選項卡,並選擇「命令行工具」。下載命令行工具

  2. 轉到應用程序,然後是實用程序,然後是終端,然後打開終端。在終端中,輸入「easy_install pip」。注意:如果它顯示「error:/ usr/local/bin/pip:Permission denied」,則鍵入「chmod 777/usr/local/bin /」。現在再試一次。

  3. 類型:PIP安裝 「用Cython> = 0.18」

  4. 它完成後,鍵入:PIP安裝LXML

  5. 打開蟒蛇空閒和測試,如果你可以導入lxml的,有樂趣!

+0

這是不夠的;嘗試它輸出:/lxml/src/lxml/includes/etree_defs.h:9:10:致命錯誤:'libxml/xmlversion.h'文件未找到 – Petri

+0

在我的情況下,我只是能夠使用'pip install lxml'部分是因爲我已經安裝了Xcode並安裝了一個合理的新版本的Cython。 –