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

Sim*_*son 36 python macos shell lxml osx-leopard

我已经尝试了这一点并且在过去多次遇到问题.有没有人在没有MacPorts或Fink的OS X上安装lxml的配方肯定有用?

优选地,具有用于下载和构建每个依赖性的完整1-2-3步骤.

Sim*_*son 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
Run Code Online (Sandbox Code Playgroud)

  • 'cd libs /'步骤对我来说失败了,但它和以下两个wgets似乎是不必要的,因为它们恰好是'setup.py build ...'步骤的副作用. (4认同)
  • AFAIK,wget没有来自OS X.请使用`curl -O`代替. (2认同)

And*_*rei 33

这对我有用(10.6.8):

sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml
Run Code Online (Sandbox Code Playgroud)

  • 在OS X Lion 10.7.1中为我工作,谢谢. (5认同)

Dav*_*Eyk 21

我和Homebrew一起运气很好,可以安装libxml2依赖项:

brew install libxml2
Run Code Online (Sandbox Code Playgroud)

Homebrew似乎没有libxslt,但我还不需要XSLT.因人而异.

一旦你有了依赖关系,那么通常的方法就可以了:

pip install lxml
Run Code Online (Sandbox Code Playgroud)

要么

easy_install lxml
Run Code Online (Sandbox Code Playgroud)

  • 10.11:错误:命令'clang'失败,退出状态为1; 解决方案是:xcode-select --install (3认同)

小智 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/


小智 5

在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
Run Code Online (Sandbox Code Playgroud)