无法在 Mac OS X 10.9 上安装 Lxml

2025-02-28 08:22:00
admin
原创
83
摘要:问题描述:我想安装 Lxml,然后安装 Scrapy。当我今天更新我的 Mac 时,它不允许我重新安装 lxml,我收到以下错误:In file included from src/lxml/lxml.etree.c:314: /private/tmp/pip_build_root/lxml/src/lxml...

问题描述:

我想安装 Lxml,然后安装 Scrapy。

当我今天更新我的 Mac 时,它不允许我重新安装 lxml,我收到以下错误:

In file included from src/lxml/lxml.etree.c:314:
/private/tmp/pip_build_root/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found
#include "libxml/xmlversion.h"
         ^
1 error generated.
error: command 'cc' failed with exit status 1

我尝试使用 brew 安装 libxml2 和 libxslt,都安装正常,但我仍然无法安装 lxml。

上次安装时,我需要在 Xcode 上启用开发人员工具,但自从它更新到 Xcode 5 后,它不再提供该选项。

有人知道我需要做什么吗?


解决方案 1:

您应该安装或升级 Xcode 的命令行工具。在终端中尝试此操作:

xcode-select --install

如果已经安装了 Xcode 命令行工具,但是仍然无法安装 lxml,请按照以下命令重置 xcode-select:

sudo xcode-select --reset

这将重置 Xcode 命令行工具目录的路径并可能解决问题。

在您安装或更新 Xcode 命令行工具后,希望这可以解决问题并允许您安装“lxml”包。

解决方案 2:

我通过安装和链接libxml2以及libxslt通过 brew 解决了 Yosemite 上的这个问题:

brew install libxml2
brew install libxslt
brew link libxml2 --force
brew link libxslt --force

如果您已使用此方法解决了问题但稍后问题再次出现,则可能需要在上面四行之前运行此命令:

brew unlink libxml2
brew unlink libxslt

如果你在使用 Homebrew 时遇到权限错误,尤其是在 El Capitan 上,这是一个有用的文档。本质上,无论 OS X 版本是什么,请尝试运行:

sudo chown -R $(whoami):admin /usr/local

解决方案 3:

您可以通过在命令行运行以下命令来解决您的问题:

 STATIC_DEPS=true pip install lxml

它确实对我有帮助。文档上的解释

解决方案 4:

我尝试了上述大多数解决方案,但都不起作用。我正在运行 Yosemite 10.10,唯一对我有用的解决方案是在终端中输入以下内容:

sudo CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install lxml

编辑:如果您使用的是virtualenv,则一开始的sudo是不需要的。

解决方案 5:

这个问题也困扰了我一段时间。我对 python distutils 等的内部原理了解不够,但这里的包含路径是错误的。我做了以下丑陋的 hack 来拖延时间,直到 python lxml 人员能够做出正确的修复。

sudo ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2/libxml/ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml

解决方案 6:

正在全局安装...OS X 10.9.2

xcode-select --install
sudo easy_install pip
sudo CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install lxml

解决方案 7:

http://lxml.de/installation.html上的安装说明解释:

为了加快测试环境中的构建速度(例如在持续集成服务器上),通过设置 CFLAGS 环境变量来禁用 C 编译器优化:

CFLAGS="-O0" pip install lxml

解决方案 8:

在 10.9.2 上,上述方法均不适用于我,因为编译出现以下错误:

clang: error: unknown argument: '-mno-fused-madd' 

这实际上导致了最干净的解决方案(更多细节参见[1]):

export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

pip install lxml

或者如果全局安装,则遵循

sudo pip install lxml

[1] clang 错误:未知参数:'-mno-fused-madd'(python 包安装失败)

解决方案 9:

xcode-select --install
sudo easy_install pip
sudo pip install lxml

解决方案 10:

Yosemite我通过运行以下命令解决了这个问题:

xcode-select install #this may take several minutes.
pip install lxml

解决方案 11:

使用 homebrew,libxml2 被隐藏以免干扰系统 libxml2,因此必须借助 pip 才能找到它。

使用 bash:

LDFLAGS=-L`brew --prefix libxml2`/lib CPPFLAGS=-I`brew --prefix libxml2`/include/libxml2 pip install --user lxml

配鱼:

env LDFLAGS=-L(brew --prefix libxml2)/lib CPPFLAGS=-I(brew --prefix libxml2)/include/libxml2 pip install --user lxml

解决方案 12:

我尝试了本页上的所有答案,但都不起作用。我运行的是 OS X 版本 10.9.2

但这绝对有效......就像一个魅力:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install lxml

解决方案 13:

OSX 10.9.2

sudo env ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future STATIC_DEPS=true pip install lxml

解决方案 14:

不幸的是,xcode-select --install它对我来说不起作用,因为我已经拥有最新版本了。

这很奇怪,但我通过打开 XCode 并接受条款和条件解决了该问题。pip install lxml之后重新运行没有返回任何错误。

解决方案 15:

从 pip(lxml 3.6.4)成功安装后,导入 lxml.etree 模块时出现错误。

我不断地寻找将它作为 scrapy 的必备软件来安装的方法,并尝试了所有的选项,但最终这个对我有用(mac osx 10.11 python 2.7):

$ STATIC_DEPS=true sudo easy_install-2.7 "lxml==2.3.5"

旧版本的 lxml 似乎可以与 etree 模块一起使用。

Pip 经常会忽略包的指定版本,例如,当你在 pip 缓存中有较新的版本时,因此easy_install。该'-2.7'选项适用于 python 版本,如果你正在为 python 3.x 安装,请省略此项。

解决方案 16:

就我而言,我必须在安装 lxml 之前关闭卡巴斯基防病毒软件,方法如下:

pip install lxml

解决方案 17:

编译之前将 xmlversion.h 的路径添加到您的环境中。

$ set INCLUDE=$INCLUDE:/private/tmp/pip_build_root/lxml/src/lxml/

但请确保我提供的路径中包含 xmlversion.h 文件。然后,

$ python setup.py install

解决方案 18:

pip对我来说不起作用。我去了
https://pypi.python.org/pypi/lxml/2.3
并下载了 macosx .egg 文件:

https://pypi.python.org/packages/2.7/l/lxml/lxml-2.3-py2.7-macosx-10.6-intel.egg#md5=52322e4698d68800c6b6aedb0dbe5f34

然后使用命令行easy_install安装.egg文件。

解决方案 19:

这篇文章链接到一个对我有用的解决方案
Python3,lxml 和 Mac OS X 10.9 上的“未找到符号:_lzma_auto_decoder”

韋斯

解决方案 20:

我遇到了同样的问题,经过几天的工作,我在 OS X 10.9.4 上使用 Python 3.4.1 解决了这个问题。

这是我的解决方案,

根据从 lxml.de安装 lxml ,

lxml 的 macport 可用。尝试类似 port install py25-lxml 的操作

如果你没有 MacPort,可以从MacPort.org安装。这很简单。你可能还需要一个编译器,要安装 Xcode 编译工具,请使用xcode-select --install

首先,我通过以下方式将我的端口更新到最新版本sudo port selfupdate

然后我只需输入sudo port install libxml2,几分钟后你就会看到 libxml2 安装成功。可能你还需要libxslt安装 lxml。要安装 libxslt,请使用:sudo port install libxslt

现在,只需输入pip install lxml,它就可以正常工作。

解决方案 21:

我正在使用 OSX 10.9.2,并且遇到了同样的错误。

安装 Xcode 命令行工具对于此特定版本的 OSX 没有帮助。

我认为解决此问题的更好方法是使用以下命令进行安装:

$ CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 pip install lxml

这与 jdkoftinoff 的修复类似,但不会永久地改变您的系统。

解决方案 22:

经过一番苦恼和咬牙切齿之后,我用 pip 卸载了 Xcode,然后运行:

easy_install lxml

一切都很好。

解决方案 23:

我已经通过以下问题解决了它

pip install --upgrade --force-reinstall --use-pep517 lxml --install-option="--static-deps=true" --install-option="--libxml2-version=2.11.4"

解决方案 24:

我没有安装Xcode。从 homebrew 安装 libxml2 后,首先列出安装路径。

brew list libxml2

它将像这样输出。

...
/usr/local/Cellar/libxml2/2.9.12/include/libxml2/ (47 files)
...

然后我使用以下命令成功安装 lxml。

C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.12/include/libxml2/ pip install lxml

它添加了 libxml2 的头路径。

解决方案 25:

尝试:

% STATIC_DEPS=true pip install lxml

或者:

% STATIC_DEPS=true sudo pip install lxml

有用!

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2941  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1803  
  PLM(产品生命周期管理)系统在企业的产品研发、生产与管理过程中扮演着至关重要的角色。然而,在实际运行中,资源冲突是经常会遇到的难题。资源冲突可能导致项目进度延迟、成本增加以及产品质量下降等一系列问题,严重影响企业的效益与竞争力。因此,如何有效应对PLM系统中的资源冲突,成为众多企业关注的焦点。接下来,我们将详细探讨5...
plm项目管理系统   31  
  敏捷项目管理与产品生命周期管理(PLM)的融合,正成为企业在复杂多变的市场环境中提升研发效率、增强竞争力的关键举措。随着技术的飞速发展和市场需求的快速更迭,传统的研发流程面临着诸多挑战,而将敏捷项目管理理念融入PLM,有望在2025年实现研发流程的深度优化,为企业创造更大的价值。理解敏捷项目管理与PLM的核心概念敏捷项...
plm项目   31  
  模块化设计在现代产品开发中扮演着至关重要的角色,它能够提升产品开发效率、降低成本、增强产品的可维护性与可扩展性。而产品生命周期管理(PLM)系统作为整合产品全生命周期信息的关键平台,对模块化设计有着强大的支持能力。随着技术的不断发展,到 2025 年,PLM 系统在支持模块化设计方面将有一系列令人瞩目的技术实践。数字化...
plm软件   28  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用