2012-05-19 73 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。 –