如何在不使用MacPorts或Fink的情况下在OS X Leopard上安装lxml?

我已经尝试了这个,并且在过去遇到了很多问题。 有没有人有一个配方安装lxml的OS X没有MacPorts或Fink,绝对有效?

最好完成1-2-3步骤来下载和构build每个依赖关系。

感谢@Jessenoller在Twitter上我有一个符合我需要的答案 – 你可以用静态依赖编译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 

这对我有效(10.6.8):

 sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml 

我已经与Homebrew一起安装libxml2依赖:

 brew install libxml2 

家酿似乎没有libxslt可用,但我还没有需要XSLT。 因人而异。

一旦你有依赖关系,那么通常的方法工作得很好:

 pip install lxml 

要么

 easy_install lxml 

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/

在el capitan(10.11.1)上使用自制软件(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 

OS X 10.9.1中 ,上面的build议答案在安装过程中出错 – 必须进行以下更改:

 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 

这对我在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

这包括以下build议:

但是我想把它编成一个答案,而不是在任何地方留下评论

这在过去在我的osx上安装lxml

我在Snow Lepoard上工作得很好,但升级到Lion之后,我不得不将gcc-4.2链接到gcc。 运行sudo env ARCHFLAGS =“ – arch i386 -arch x86_64”easy_install lxml正在寻找gcc-4.2而不是gcc。

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

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

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

尝试安装Cython并从源代码安装,easy_install确实失败。 虽然我还没有尝试过我的Mac。

如果港口版本不是那么古老。 您可以看到依赖关系,其中一些必须更新为我的Linux版本的lxml。

info py25-lxml py25-lxml @ 2.1.5(python,devel)

lxml是libxml2和libxslt库的Pythonic绑定。 它的独特之处在于它将这些库的速度和function完整性与本地Python API的简单性结合在一起,它们大部分兼容,但优于着名的ElementTree API。 主页: http : //codespeak.net/lxml/

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

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

lypl 包含在pypm库中:

 $ pypm install lxml 

要使用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 

过去的10.6.8 os x有很多痛苦,但是这里适用于任何运行雪豹的人!

首先,您必须从homebrew安装不同版本的libxml2,然后安装–with-python。 您可以通过input以下命令来完成此操作。

 brew update brew edit libxml2 

然后find“–with-python”这一行并改为“–with-python”。

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

现在你可以安装libxml2。

 brew install libxml2 

接下来检查你的新安装的libxml2在默认的自制软件位置。 你想要findlibxml2configuration。

你可能会有所不同:

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

现在使用以下命令,使用新安装的libxml2configuration,而不是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 – 安装选项…

http://natanyellin.com/page/4/

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

安装Python,libxml2,libxslt,然后是lxml。 您可能还需要安装setuptools。