我曾尝试过这样做并多次遇到问题。有没有人有一个确切可行的在OS X上安装lxml的方案,而不需要使用MacPorts或Fink?
最好提供完整的1-2-3步骤,下载和构建每个依赖项。
我曾尝试过这样做并多次遇到问题。有没有人有一个确切可行的在OS X上安装lxml的方案,而不需要使用MacPorts或Fink?
最好提供完整的1-2-3步骤,下载和构建每个依赖项。
感谢 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
这对我有用(10.6.8):
sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml
Installed /Library/Python/2.6/site-packages/lxml-2.3.3-py2.6-macosx-10.6-universal.egg Processing dependencies for lxml Finished processing dependencies for lxml
,当我尝试导入时发生了这种情况: ImportError: No module named lxml
。 - Stinchuckles
建议的这个吗:https://dev59.com/aHM_5IYBdhLWcg3wrFIt#7850559? - Andreiimport lxml
可以工作,但是import lxml.etree
不行。相关链接:http://stackoverflow.com/questions/19557304/installing-lxml-on-mac-os-x-10-6-8-with-gcc-4-2和https://dev59.com/JmMm5IYBdhLWcg3wO9Eq#19613627。 - Sergey Orshanskiy我使用Homebrew安装libxml2
依赖库非常顺利:
brew install libxml2
Homebrew似乎没有提供libxslt
,但我还没有需要使用XSLT。结果可能因人而异。
一旦你获取了这些依赖项,那么通常的方法就可以正常工作:
pip install lxml
或者easy_install lxml
错误:命令'gcc-4.2'失败,退出状态1
。然而,上面的解决方案确实有效。 - Weston Ruterbrew install libxml2
,然后是easy_install lxml
,最后是easy_install scour
,以便保存Inkscape文件。 - Prince在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
通过以下方式,可以使用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/
这在我10.8.5的系统中奏效:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
brew install libxml2
sudo easy_install lxml
这些建议来自于:
但我希望将它们合并为一个回答,而不是到处留下注释。
xcode-select --install
- nyarasha在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
我使用的是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
来安装依赖项。我不确定这两个命令是否必要。
我在Snow Leopard上已经成功运行了这个程序,但是在升级到Lion之后,我不得不将gcc-4.2链接到gcc。当我运行sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml时,它会寻找gcc-4.2而不是gcc。
要安装最新版本的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
curl -O
替代。 - David Eyk