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

Blu*_*rog 38 python lxml amazon osx-mavericks

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

使用python-amazon-product-api开发Web应用程序.我克服了安装lxml的障碍,引用了clang错误:未知参数:' - mno-fused-madd'(python包安装失败).

但发生了另一个运行时错误 这是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
Run Code Online (Sandbox Code Playgroud)

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

jes*_*ems 102

这对我有用:

brew install libxml2
brew install libxslt
brew link libxml2 --force
brew link libxslt --force
Run Code Online (Sandbox Code Playgroud)

  • 它也适合我,谢谢! (8认同)
  • 这个解决方案应该是公认的答案 (3认同)
  • 谢谢!我确认这对我也有用:) (2认同)
  • Homebrew是唯一对我有用的方式.尝试了所有其他的建议,但没有好处. (2认同)

msc*_*arf 42

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

$ conda install -f lxml

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

我第一次尝试conda update lxml没效果.

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


dar*_*roo 10

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

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

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


dvr*_*d77 7

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

conda install libxml2
Run Code Online (Sandbox Code Playgroud)