我在将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行,正在安装中 requirement.install(install_options,global_options,* args,** kwargs)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” 第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))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 / s5hl5w4x7zjdjkdljw9cnsrm0000gn / T / pip-build-khuevu / lxml / setup.py'; exec(compile(open(文件)。读()。替换( '\ r \ N', '\ n'),文件,'exec'))“install --record /var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-nsV0iT-record/install-record.txt --single-version-external-managed失败,错误代码为1 / private / var / folders / 9s / s5hl5w4x7zjdjkdljw9cnsrm0000gn / T / pip-build-khuevu / lxml
有什么想法吗? 非常感谢
答案 0 :(得分:21)
即使它在PATH中,xmlversion.h也不包含在编译路径中。修改C_INCLUDE_PATH env为我修复错误:
C_INCLUDE_PATH =的/ usr /本地/地窖/ libxml2的/ 2.9.1 /包含/ libxml2的:$ C_INCLUDE_PATH
答案 1 :(得分:19)
如果你在安装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
答案 2 :(得分: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
答案 3 :(得分: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
注意:您需要检查自己的路径以获取最新版本。
由于标题在别处可用,并且在特定目录中查找(在调用clang编译的命令中发现) - 由于某种原因,备用位置没有被拾取,我做了一个到正确位置的软链接
答案 4 :(得分:4)
brew install libxml2
brew link libxml2 --force
export C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.2/include/libxml2:$C_INCLUDE_PATH
答案 5 :(得分:1)
当系统是Mac EI队长时,mkdir
中有/usr/
权限。也许我们不能修改这个目录?
请参阅AskDifferent上的What is the “rootless” feature in El Capitan, really?