36

我已经尝试过这个并在过去多次遇到问题。有没有人有在没有 MacPorts 或 Fink 的情况下在 OS X 上安装 lxml 的方法,这绝对有效?

最好使用完整的 1-2-3 步骤来下载和构建每个依赖项。

4

15 回答 15

35

感谢 Twitter 上的@jessenoller,我有一个适合我需要的答案——你可以用静态依赖项编译 lxml,从而避免弄乱 OS X 附带的 libxml2。这对我有用:

cd /tmp
curl -O http://lxml.de/files/lxml-3.6.0.tgz
tar -xzvf lxml-3.6.0.tgz 
cd lxml-3.6.0
python setup.py build --static-deps --libxml2-version=2.7.3  --libxslt-version=1.1.24 
sudo python setup.py install
于 2009-08-14T11:40:39.200 回答
33

这对我有用(10.6.8):

sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml
于 2011-07-01T08:38:34.003 回答
22

我在Homebrew安装libxml2依赖项方面非常幸运:

brew install libxml2

Homebrew 似乎没有libxslt可用,但我还没有需要 XSLT。YMMV。

一旦有了依赖项,通常的方法就可以正常工作:

pip install lxml

或者

easy_install lxml
于 2011-04-26T01:32:08.110 回答
5

Easy_install可以使用这个:

STATIC_DEPS=true easy_install 'lxml>=2.2beta4'

然后您可能需要运行,具体取决于权限;

STATIC_DEPS=true sudo easy_install 'lxml>=2.2beta4'

http://muffinresearch.co.uk/archives/2009/03/05/install-lxml-on-osx/

于 2009-08-26T10:05:27.793 回答
5

在 el capitan (10.11.1) 上使用 homebrew (0.9.5) 以下对我有用:

brew install libxml2
LD_FLAGS=-L/usr/local/opt/libxml2/lib CPPFLAGS=-I/usr/local/opt/libxml2/include/libxml2 pip install lxml
于 2016-01-13T21:36:49.893 回答
3

这在 10.8.5 对我有用

  1. 从 Mac App Store 安装 Xcode
  2. Xcode -> 首选项 -> 下载 -> 命令行工具
  3. 使用安装自制软件
  4. ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
  5. brew install libxml2
  6. sudo easy_install lxml

这包括来自以下方面的建议:

但我想把它编译成一个答案,而不是到处留下评论

于 2013-10-10T18:52:08.473 回答
3

OS X 10.9.1上,安装过程中出现上述错误的建议答案 - 必须进行以下更改:

cd /tmp  
curl -o lxml-3.3.0.tgz http://lxml.de/files/lxml-3.3.0.tgz  
tar -xzvf lxml-3.3.0.tgz  
cd lxml-3.3.0  
python setup.py build --static-deps --libxml2-version=2.8.0  --libxslt-version=1.1.24  
sudo python setup.py install  
于 2014-02-01T17:54:12.003 回答
1

我在 Snow Lepoard 上运行良好,但在升级到 Lion 后,我不得不将 gcc-4.2 符号链接到 gcc。运行 sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml 正在寻找 gcc-4.2 而不是 gcc。

于 2011-10-21T14:06:12.140 回答
1

我正在使用 OSX 10.11 El Capitan 和 Homebrew。使用pip install lxml会给我“致命错误:找不到'libxml/xmlversion.h'文件”和“失败,错误代码1”等等。

根据官方网站,我应该使用STATIC_DEPS=true pip install lxml(如果需要,请在 pip 之前添加 sudo),这解决了我的问题。

我在故障排除时运行brew install libxml2brew install libxslt安装了依赖项。我不确定这两个命令是否必要。

于 2015-10-17T01:24:15.293 回答
0

要安装最新版本的 libxml2 和 libxslt:

ARCHFLAGS="-arch i386 -arch x86_64" STATIC_DEPS=true pip install lxml

要安装特定版本的库:

ARCHFLAGS="-arch i386 -arch x86_64" STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml

CentOS 64 位(有点问题,但来之不易):

CFLAGS=-fPIC STATIC_DEPS=true pip install lxml

或者

CFLAGS=-fPIC STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml
于 2012-04-25T21:21:11.163 回答
0

lxml包含pypm存储库中:

$ pypm install lxml
于 2009-10-09T06:27:38.553 回答
0

尝试安装 Cython 并从源代码安装,easy_install 确实失败。我还没有在我的mac上试过。

没有端口版本不是那么古老。您可以看到依赖项,其中一些必须针对我的 Linux 构建的 lxml 进行更新。

信息 py25-lxml py25-lxml @2.1.5 (python, devel)

lxml 是 libxml2 和 libxslt 库的 Pythonic 绑定。它的独特之处在于它将这些库的速度和功能完整性与原生 Python API 的简单性结合在一起,大部分兼容但优于众所周知的 ElementTree API。主页: http ://codespeak.net/lxml/

库依赖项:python25、libxml2、libxslt、py25-hashlib、py25-setuptools、py25-zlib 平台:darwin 维护者:akitada@macports.org openmaintainer@macports.org

于 2009-08-14T11:15:46.240 回答
0

这是最新的 - 2009 年 3 月:http: //lsimons.wordpress.com/2008/08/31/how-to-install-lxml-python-module-on-mac-os-105-leopard/

于 2009-08-14T11:15:50.780 回答
0

对于过时的 10.6.8 os x 来说,这会带来很多痛苦,但对于任何运行 Snow Leopard 的人来说都是如此!

首先,您必须从 homebrew 安装不同版本的 libxml2 并安装 --with-python。您可以通过键入以下命令来执行此操作。

brew update
brew edit libxml2

然后找到显示“--without-python”的行并更改为“--with-python”。

system "./configure", "--disable-dependency-tracking",
                      "--prefix=#{prefix}",
                      "--with-python"

现在您可以安装 libxml2。

brew install libxml2

接下来检查您在默认自制位置中新安装的 libxml2。您想找到 libxml2 配置。

您的可能会有所不同:

“/usr/local/Cellar/libxml2/ VERSION_ /bin/xml2-config”

现在使用以下命令使用新安装的 libxml2 配置而不是 Mac OS X 版本通过 pip 安装 lxml。

ARCHFLAGS="-arch i386 -arch x86_64" pip install lxml --install-option="--with-xml2-config=/usr/local/Cellar/libxml2/2.9.1/bin/xml2-config"

在我的 10.6.8 Python 2.6 上为我工作。谢谢。

信用转到此页面以向我展示 pip --install-option ...

http://natanyelin.com/page/4/

于 2014-07-03T00:55:04.483 回答
-5

我编译它/usr/local没有任何问题。

安装 Python、libxml2、libxslt 和 lxml。您可能还需要安装 setuptools。

于 2009-08-14T10:33:46.513 回答