无法在Python中导入dlib

问题描述:

我成功安装了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

我不知道我是否会称这是一个解决方案,因为我仍然有问题,但我所做的就是: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)的路径