【问题标题】:lxml runtime error: Reason: Incompatible library version: etree.so requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0lxml运行时报错:原因:库版本不兼容:etree.so需要12.0.0或更高版本,但libxml2.2.dylib提供10.0.0版本
【发布时间】:2014-06-04 00:59:26
【问题描述】:

我有一个令人困惑的问题。 我用过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)

但是发生了另一个运行时错误。 这是网络浏览器的输出。

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

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

【问题讨论】:

  • 我找到了解决方案。我删除了 virtualenv 的库设置。我在本地 ID 的 python 路径中重新安装了应用程序所需的库。未使用 virtualenv 的设置。不方便,但问题解决了。

标签: python amazon lxml osx-mavericks


【解决方案1】:

这对我有用:

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

【讨论】:

  • 自制是唯一对我有用的方法。尝试了所有其他建议,但效果不佳。
  • 你可以运行brew link libxml2 --force,而不是echo /usr/local/opt/libxml2/lib/python2.7/site-packages >> /usr/local/lib/python2.7/site-packages/libxml2.pth
  • 第三次或第四次我需要这个,每次相隔几个月。希望我能投票 3-4 次哈哈。谢谢!
  • 这对我有用,并且节省了我很多调试时间。谢谢!
【解决方案2】:

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

$ conda install -f lxml

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

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

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

【讨论】:

  • 'conda install lxml' 为我工作(在我的情况下,'-f' 选项不是必需的)......下面的另一个答案(conda install libxml2)不起作用。
【解决方案3】:

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

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

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

【讨论】:

  • 这也为我解决了问题!谢谢!
【解决方案4】:

我通过执行以下操作来实现它:

conda install libxml2

【讨论】:

    【解决方案5】:

    考虑在 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
    

    【讨论】:

      【解决方案6】:

      我几乎尝试了上述所有方法,但都失败了。对我有用的是注释掉

      export DYLD_LIBRARY_PATH=/usr/lib
      

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

      【讨论】:

        猜你喜欢
        • 2013-09-20
        • 2017-05-21
        • 2013-10-01
        • 1970-01-01
        • 2012-06-23
        • 2014-02-14
        • 2015-10-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多