如何在不使用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工作
- 从Mac App Store安装Xcode
- Xcode – >首选项 – >下载 – >命令行工具
- 使用安装自制软件
-
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
-
brew install libxml2
-
sudo easy_install lxml
这包括以下build议:
- https://stackoverflow.com/a/6545556/300224
- https://stackoverflow.com/a/5785013/300224
- https://stackoverflow.com/a/9403589
但是我想把它编成一个答案,而不是在任何地方留下评论
这在过去在我的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 – 安装选项…
我编译它在/usr/local
没有任何问题。
安装Python,libxml2,libxslt,然后是lxml。 您可能还需要安装setuptools。