Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在osx mavericks上安装python模块lxml时出错_Python_Macos_Lxml_Osx Mavericks - Fatal编程技术网

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

在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

这是我的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。这很可能是由于缺少“命令行工具”。把他们带到这里:


也可以通过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“主要版本”时都需要重新安装。