在osx mavericks上安装python模块lxml时出错
这是我的python环境:注意numpy正在工作在osx mavericks上安装python模块lxml时出错,python,macos,lxml,osx-mavericks,Python,Macos,Lxml,Osx Mavericks,这是我的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
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。这很可能是由于缺少“命令行工具”。把他们带到这里:
也可以通过macports或brew安装libxml2来解决此问题(,但除非万不得已,否则不要这样做)。尽可能使用系统库而不是自制或macports可以避免许多不兼容的陷阱。Hi我通过自制重新安装了libxml2。也许升级到mavericks 10.9.1会覆盖之前的安装。我做的“brew安装libxml2”很成功。但是“pip安装——升级lxml”仍然失败,出现相同的错误。您是否检查了/usr/include/libxml2是否存在?我打赌不会,在这种情况下,我的建议是从苹果安装命令行工具。在系统和自制软件都可用的情况下,选择系统库几乎总能让您省去一些麻烦。注:自制libxml未能解决此问题的原因是,在构建时,pip可能不包括
/usr/local/include
。在尝试破解之前,我真的建议检查/usr/include并安装命令行工具——这可能会解决所有问题:)你是对的,/usr/include/libxml2并不存在。我刚刚升级到10.9.1-这是否消除了命令行工具?是的。“命令行工具”是特定于操作系统的,每次升级到新的OSX“主要版本”时都需要重新安装。