在 osx Mavericks 上安装 python 模块 lxml 时出错



这是我的python环境:请注意,numpy正在工作

13:41:44/shared:5 $python
Python 2.7.5 (default, Aug 25 2013, 00:04:04)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from numpy import *
>>> print mat([1,2,3])
[[1, 2, 3]]
>>>

但是我无法安装 lxml。 我的 python 和/或操作系统配置中缺少什么来使其工作:

13:37:03/shared:4 $pip install --upgrade lxml
Downloading/unpacking lxml
  Downloading lxml-3.2.4.tar.gz (3.3MB): 3.3MB downloaded
  Running setup.py egg_info for package lxml
    /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
      warnings.warn(msg)
    Building lxml version 3.2.4.
    Building without Cython.
    Using build configuration of libxslt 1.1.28
    warning: no previously-included files found matching '*.py'
    warning: no files found matching '*.txt' under directory 'src/lxml/tests'
Installing collected packages: lxml
  Running setup.py install for lxml
    /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
      warnings.warn(msg)
    Building lxml version 3.2.4.
    Building without Cython.
    Using build configuration of libxslt 1.1.28
    building 'lxml.etree' extension
    cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -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 x86_64 -arch i386 -pipe -I/usr/include/libxml2 -I/private/var/folders/k4/l5ww32y14svd5wmkgzzftl9m0000gn/T/pip_build_steve/lxml/src/lxml/includes -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.9-intel-2.7/src/lxml/lxml.etree.o -flat_namespace
    clang: warning: argument unused during compilation: '-mno-fused-madd'
    clang: warning: argument unused during compilation: '-flat_namespace'
    In file included from src/lxml/lxml.etree.c:314:
    **/private/var/folders/k4/l5ww32y14svd5wmkgzzftl9m0000gn/T/pip_build_steve/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found
    #include "libxml/xmlversion.h"**
             ^
    1 error generated.

似乎你缺少libxml/xmlversion.h

由于似乎包含/usr/include/libxml2,我认为最可能的原因是您的系统上没有安装 libxml2。这很可能是由于缺少"命令行工具"。在这里获取它们: https://developer.apple.com/downloads/index.action?=command%20line%20tools

也可以通过macports或brew安装libxml2来解决(但除了作为最后的手段之外,不要这样做)。尽可能使用系统库而不是自制软件或macports可以使您免于许多不兼容的陷阱。

最新更新