首页 文章

无法在MacOS 10.8.4中安装lxml

提问于
浏览
10

我在将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 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 / 787-9 / 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

任何的想法 ?非常感谢

6 回答

  • 1

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

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

  • 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
    
  • 21

    没有其他答案(导出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
    
  • 4

    我通过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
    

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

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

  • 5
    brew install libxml2
    brew link libxml2 --force
    export C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.2/include/libxml2:$C_INCLUDE_PATH
    
  • 5

    当系统是Mac EI队长时, /usr/ 中有权允许 mkdir . 也许我们不能修改这个目录?

    请参阅AskDifferent上的What is the “rootless” feature in El Capitan, really?

相关问题