在Mac OS上安装lxml时遇到问题。我在构建它时出现以下错误。这是我在使用pip安装lxml时遇到的错误
/private/var/folders/9s/s5hl5w4x7zjkdljw9cnsrm0000gn/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
我刚认识麦克。在Ubuntu中,这意味着必须安装libxml2-dev包。
更新:这里是pip。日志:
“~/.pip/pip.log”124L,8293C需求集。安装(install_options,global_options,root=options.root_path)文件“/usr/local/ceral/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/ceral/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行,在install cwd=self中。source\u dir,filter\u stdout=self_filter_install,show_stdout=False)File“/usr/local/cillar/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”,call_subprocess%(command_desc,proc.returncode,cwd)installation中第662行错误:command/usr/local/cillar/python/2.7。5/Frameworks/Python。framework/Versions/2.7/Resources/Python。app/Contents/MacOS/Python-c“导入setuptools;file='/private/var/folders/9s/s5hl5w4x7zjkdljw9cnsrm0000gn/T/pip build khuevu/lxml/setup.py';exec(compile(open(file).read().replace('\r\n','\n'),file,'exec'))”安装--record/var/folders/9s/s5hl5w4x7zjddljkdljw9cnsrm0000gn/T/pip-nsit-record/record。txt—外部管理的单一版本失败,错误代码为1,位于/private/var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip build khuevu/lxml中
有什么想法吗?谢谢
结果xmlversion. h不包括在编译路径中,即使它在PATH中。修改C_INCLUDE_PATHenv为我修复错误:
C_INCLUDE_PATH=/usr/local/ceral/libxml2/2.9。1/include/libxml2:$C_include_路径
如果您正在运行安装了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
我已经通过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编译的命令中被发现)——并且由于某种原因,替代的位置没有被拾取,所以我在正确的地方做了一个软链接。