Python 错误消息“库版本不兼容”libxml 和 etree.so

Posted

技术标签:

【中文标题】Python 错误消息“库版本不兼容”libxml 和 etree.so【英文标题】:Python error message "Incompatible library version" libxml and etree.so 【发布时间】:2016-09-18 03:50:29 【问题描述】:

更新 2:

结果发现主要问题与我想象的不同,并在这里寻求帮助。我将新问题移至新帖子:

Install custom python package in virtualenv


更新: 好的,所以我不小心搞砸了我的非虚拟环境。 我可以通过删除手动安装的(通过 pip)lxml 并运行来轻松修复非虚拟环境(普通 bash)

conda install lxml --force

但由于某种原因,这在 virtualenv 中不起作用。 在那里,正在运行

    conda install lxml --force

没有错误消息,但是当我运行 python 并简单地说

>>> import lxml
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named lxml

有什么建议吗??


旧消息:

我正在尝试将 virtualenv 用于我的 python 烧瓶应用程序。 python 代码在没有 virtualenv 的情况下运行得很好。

我已经在 virtualenv 中安装了我需要的包,但是我在通过安装 lxml 之后

pip install lxml
Installing collected packages: lxml
Successfully installed lxml-3.6.0

运行我的代码时收到以下错误消息:

  File "/Users/XXX/xxx/flask-aws/lib/python2.7/site-packages/docx-0.2.4-py2.7.egg/docx.py", line 17, in <module>
from lxml import etree

ImportError: dlopen(/Users/XXX/xxx/flask-aws/lib/python2.7/site-packages/lxml/etree.so, 2): Library not loaded: libxml2.2.dylib
  Referenced from: /Users/XXX/xxx/flask-aws/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

我看到其他人在***上报告了类似的问题,一个人说问题可能与virtualenv有关,但没有解决方案。

再一次:python 代码运行完美没有 virtualenv 也很好!但是在 virtualenv 中,我无法让它工作。

我在 Mac 上使用 Anaconda Python 2.7。

如果有任何帮助,我将不胜感激!

【问题讨论】:

***.com/a/25435087/3103677你看过这个吗? 感谢您的提示,正如我在上面写的,虽然在 virtualenv 中,但它不起作用。 【参考方案1】:

在搜索不兼容的库错误“libxml2.2.dylib 提供版本 10.0.0”后,我遇到了同样的错误并偶然发现了这个 link

安装对我有用的 libxml2:

brew install libxml2 
brew link --force libxml2

【讨论】:

我也不得不强制安装:brew install --force libxml2【参考方案2】:

在虚拟环境中对我有用的解决方案是强制pip 重新编译lxml

pip install lxml --force-reinstall --ignore-installed --no-binary :all:

【讨论】:

以上是关于Python 错误消息“库版本不兼容”libxml 和 etree.so的主要内容,如果未能解决你的问题,请参考以下文章

libxml2静态编译缺少python.h的问题解决

LoadError - 库版本不兼容 - /Users/user/gems/gems/ffi-1.13.1/lib/ffi_c.bundle

库版本不兼容:nokogiri.bundle 需要 8.0.0 或更高版本,但 libiconv.2.dylib 提供 7.0.0 版本

LoadError:库版本不兼容 - /home/ubuntu/.rvm/gems/ruby-2.3.1@lm5/gems/nokogiri-1.8.2/lib/nokogiri/nokogiri.s

名称空间和 xpath 的 libxml2 错误

在 ios 的 libxml 库中出现错误