2017-09-04 49 views
0

我成功安裝了dlib for python,遵循指令here。然而,當我嘗試導入庫中我得到這個消息:無法在Python中導入dlib

>>> import dlib 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/site-packages/dlib/__init__.py", line 1, in <module> 
    from .dlib import * 
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/dlib/dlib.so, 2): Library not loaded: @rpath/libpng16.16.dylib 
    Referenced from: /usr/local/lib/python2.7/site-packages/dlib/dlib.so 
    Reason: image not found 

我以前有(和卸載)和水蟒在Python 3.6有同樣的問題。看類似的questions和響應它聽起來像我將不得不使用install_name_tool命令。但是我不知道這條新路是什麼。我不太明白爲什麼這也是必要的。據我所知,被引用的路徑應該沒問題。爲什麼dlib不能導入,我能做些什麼來使它成功導入?讓我知道。由於

+0

錯誤告訴你最新的問題。你缺少** libpng **,或者你在install-config期間丟失了它。所以這看起來不像一個成功的安裝。再檢查一遍! – sascha

+1

我將libpng從默認位置移開,並且此問題似乎已修復。謝謝! – AfroSpaceBuddha

回答

0

我不知道我是否會稱這是一個解決方案,因爲我仍然有問題,但我所做的就是:install_name_tool -change @rpath/libpng16.16.dylib "/Library/Python/2.7/site-packages/dlib/dlib.so" /usr/local/lib/python2.7/site-packages/dlib/dlib.so

雖然有我安裝一個額外的問題,這個固定的問題在手。我的dlib在我的默認python庫中,而不是類似於我的虛擬機中的路徑。所以我改變了適合我的虛擬機和所有其他安裝軟件包(例如boost和cmake)的路徑