lxml运行时错误:原因:不兼容的库版本:etree.so需要12.0.0或更高版本,但libxml2.2.dylib提供版本10.0.0

时间:2014-04-19 16:15:07

标签: python amazon lxml osx-mavericks

我有一个令人困惑的问题。 我使用的是mac版本10.9,anaconda 3.4.1,python 2.7.6。

使用python-amazon-product-api开发Web应用程序。我已经克服了安装lxml的障碍,引用了clang error: unknown argument: '-mno-fused-madd' (python package installation failure)

但发生了另一个运行时错误。 这是webbrowser的输出。

Exception Type: ImportError
Exception Value:    
dlopen(/Users/User_Name/Documents/App_Name/lib/python2.7/site-packages/lxml/etree.so, 2): Library not loaded: libxml2.2.dylib
Referenced from: /Users/User_Name/Documents/App_Name/lib/python2.7/site-packages/lxml/etree.so
Reason: Incompatible library version: etree.so requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0

不确定如何继续并在此处和其他地方搜索此特定错误。非常感谢任何帮助!

6 个答案:

答案 0 :(得分:102)

这对我有用:

brew install libxml2
brew install libxslt
brew link libxml2 --force
brew link libxslt --force

答案 1 :(得分:42)

如果使用conda,请强制重新安装lxml

$ conda install -f lxml

请注意,强制重新安装可能会产生无法预料的后果。

我首先尝试conda update lxml无效。

然后尝试conda install lxml也没有效果(但那是前一段时间和ymmv - 请参阅评论)。

答案 2 :(得分:10)

我遇到了同样的问题。我意识到在我的网络应用程序的pip安装期间,lxml正在尝试以下操作:

“针对以下目录中的libxml2 / libxslt构建:/ Users / [me] / anaconda / lib”

不是100%确定原因,但是一旦我从bash_profile中的系统路径中删除了anaconda / bin(anaconda在安装时将其粘贴在那里)我能够正确地安装lxml。之后,您应该能够毫无问题地将anaconda / bin重新添加到系统路径中。

答案 3 :(得分:7)

我通过执行以下操作来实现此目的:

conda install libxml2

答案 4 :(得分:0)

考虑在conda中使用替代渠道。

$ anaconda search -t conda pyquery
Using anaconda-server api site https://api.anaconda.org
Run 'anaconda show <USER/PACKAGE>' to get more details:
Packages:
     Name                      |  Version | Package Types   | Platforms      
     ------------------------- |   ------ | --------------- | ---------------
     CS109/pyquery             |    1.2.9 | conda           | linux-64, win-32, win-64, linux-32, osx-64
                                          : A jquery-like library for python
     asmeurer/pyquery          |    1.2.6 | conda           | osx-64         
                                          : https://github.com/gawel/pyquery
     auto/pyquery              |    1.2.8 | conda           | linux-64, linux-32, osx-64
                                          : https://github.com/gawel/pyquery
     dan_blanchard/pyquery     |    1.2.6 | conda           | linux-64       
                                          : https://github.com/gawel/pyquery
     hargup/pyquery            |          | conda           | None-None, linux-64
                                          : A jquery-like library for python
     meloncholy/pyquery        |    1.2.9 | conda           | linux-64       
                                          : A jquery-like library for python
     mhworth/pyquery           |    1.2.8 | conda           | linux-64, osx-64
                                          : A jquery-like library for python
     nbsantos/pyquery          |    1.2.9 | conda           | osx-64         
                                          : A jquery-like library for python
     pdrops/pyquery            |    1.2.8 | conda           | linux-64, osx-64
                                          : A jquery-like library for python
     ziebel/pyquery            |    1.2.9 | conda           | linux-64       
                                          : A jquery-like library for python
Found 10 packages

然后,选择一个频道,执行:

conda install pyquery -c CS109

答案 5 :(得分:0)

我尝试了几乎所有上述方法并且失败了。对我有用的是评论

export DYLD_LIBRARY_PATH=/usr/lib

在我的bash个人资料中。此行由anaconda安装程序自动添加。