13

我在将 lxml 安装到我的 Mac OS 时遇到问题。构建它时出现以下错误。这是我使用时遇到的错误pip install lxml

/private/var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-build-khuevu/lxml/src/lxml/includes/etree_defs.h:9:10:致命错误:找不到“libxml/xmlversion.h”文件

我已经用 brew 安装了 libxml2:

brew install libxml2
brew link libxml2 --force

我是 Mac 新手。在 Ubuntu 中,这意味着必须安装 libxml2-dev 软件包。

更新:这里是 pip.log:

"~/.pip/pip.log" 124L, 8293C requirements_set.install(install_options, global_options, root=options.root_path) 文件 "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/ 2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req.py”,第 1185 行,在安装要求中。安装(install_options,global_options,*args,**kwargs )文件“/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/ req.py”,第 592 行,在安装 cwd=self.source_dir、filter_stdout=self._filter_install、show_stdout=False)文件“/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7 /lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/util.py”,第 662 行,在 call_subprocess % (command_desc, proc.returncode,cwd)) 安装错误:命令 /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools;file ='/private/var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-build-khuevu/lxml/setup.py';exec(compile(open( file ).read().replace('\r\n' , '\n'), file , 'exec'))" install --record /var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-nsV0iT-record/install-record.txt --single-version-externally-managed在 /private/var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-build-khuevu/lxml 中出现错误代码 1 失败

任何的想法 ?非常感谢

4

6 回答 6

22

结果 xmlversion.h 不包含在编译路径中,即使它在 PATH 中。修改 C_INCLUDE_PATH 环境为我修复错误:

C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.1/include/libxml2:$C_INCLUDE_PATH

于 2013-07-25T17:38:35.133 回答
21

如果您在安装 Xcode 的情况下运行 Mavericks,您还可以使用:

export C_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/libxml2:$C_INCLUDE_PATH
于 2013-11-06T11:53:45.110 回答
6

我通过 brew 安装了 Python 和 libxml,在尝试了上述所有操作后,这对我有用:

sudo mkdir /usr/include # If /usr/include is missing
sudo ln -s /usr/local/Cellar/libxml2/2.9.2/include/libxml2 /usr/include/libxml2

注意:您需要检查自己的路径以获取最新版本。

由于标头在其他地方可用,并且在特定目录中查找(在调用 clang 进行编译的命令中发现) - 并且由于某种原因没有选择备用位置,我做了一个到正确位置的软链接。

于 2015-02-12T15:36:08.310 回答
5

其他答案(导出 C_INCLUDE_PATH)都不适合我。但是,将 CFLAGS 环境变量设置为内置的 OS X 10.10 libxml2 根目录就像一个魅力。

export CFLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2
于 2015-01-16T02:15:34.460 回答
4
brew install libxml2
brew link libxml2 --force
export C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.2/include/libxml2:$C_INCLUDE_PATH
于 2014-11-06T08:13:35.097 回答
1

当系统是Mac EI 队长时,有一些权限可以mkdir进入。/usr/也许我们不能修改这个目录?

看看El Capitan 中的“无根”功能到底是什么?在问不同

于 2015-12-28T07:45:18.800 回答