2013-08-28 20 views
9

我正在使用的python庫使用libxml2.2.dylib。我收到此錯誤信息:python程序中的libxml2.2.dylib引用

原因:

Incompatible library version: etree.so requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0 

我的系統的libxml2.2.dylib不是最新版本,並在/usr/lib/。我使用自制軟件下載了最新版本的libxml2.2.dylib,這是/usr/local/Cellar/libxml2/2.9.1/lib/

我想讓我的Python應用程序使用該版本而不是系統使用的版本。

這是將自制軟件文件夾添加到路徑的問題嗎?

回答

5

嘗試按照說明here構建具有靜態依賴關係的lxml。這樣您就不必擔心它與哪個版本的libxml2libxslt相關聯。

它可以歸結爲

STATIC_DEPS=true pip install -U lxml 
+0

我嘗試這樣做,只是清盤拋出一個新的LXML有關導入錯誤,即:導入錯誤:dlopen的(/用戶/ [我]/ENVS/[virtualenv中]/lib/python2.7/site-packages/lxml/etree.so,2):未找到符號:_lzma_auto_decoder – daroo

+0

是否在系統Pyhon中創建了virtualenv _before_安裝lxml的靜態版本?在這種情況下,我懷疑Venv在創建時導入了問題 – oDDsKooL

+0

有趣的是,這解決了另一個問題:/lib/python3.5/site-packages/lxml/etree.cpython-35m-darwin.so 原因:不兼容的庫版本: etree.cpython-35m-darwin.so要求版本12.0.0或更高版本,但libxml2.2.dylib提供版本10.0.0 –

相關問題