无法在MacOS 10.8.4中安装lxml

Khu*_* Vu 12 python macos lxml libxml2

我在将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
Run Code Online (Sandbox Code Playgroud)

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

更新:这是pip.log:

"〜/ .pip/pip.log"124L,8293C requirement_set.install(install_options,global_options,root = options.root_path)File"/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 requirement.install中(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行,在install 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)中)InstallationError:Command/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/s5hl5w4x7zjdjkdljw 9cnsrm0000gn/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-external-managed failed/private/var/folders中的错误代码1/787-9/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/PIP-积聚khuevu/LXML

任何的想法 ?非常感谢

Khu*_* Vu 21

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

C_INCLUDE_PATH =在/ usr /本地/库/ libxml2的/ 2.9.1 /包括/ libxml2的:$ C_INCLUDE_PATH

  • 对于偶然发现这一点的人来说,这只是一个提示:我有同样的问题,这就是修复.```出口C_INCLUDE_PATH =在/ usr /本地/库/ libxml2的/ 2.9.1 /包括/ libxml2的:$ C_INCLUDE_PATH``` (3认同)

小智 20

如果您在安装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
Run Code Online (Sandbox Code Playgroud)

  • 对于OSX Yosemite,它现在是``export C_INCLUDE_PATH =/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2:$ C_INCLUDE_PATH`` (4认同)

Dan*_*erz 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
Run Code Online (Sandbox Code Playgroud)


Hiw*_*way 5

我通过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
Run Code Online (Sandbox Code Playgroud)

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

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