我有一些使用dlib的代码,但是当我尝试在python代码中导入dlib时出现此错误:
File "boom.py", line 32, in <module>
from faceSwap import *
File "/home/user/coding/faceSwap.py", line 22, in <module>
import dlib
ImportError: libboost_python-py27.so.1.49.0: cannot open shared object file: No
such file or directory
但是,当我以root身份运行时-它运行得很好!但是我不想以root用户身份运行守护程序-所以我很想解决这个问题。我试图通过PIP多次卸载/重新安装dlib,但没有成功。
当我检查库时,即使DLIB确实在以root用户身份运行python程序时运行,root和用户级别的帐户也似乎缺少该库:
用户:
$ whereis libboost_python-py27.so.1.49.0
libboost_python-py27.so.1.49:
根:
# whereis libboost_python-py27.so.1.49.0
libboost_python-py27.so.1.49:
root和用户帐户都使用相同的python
/usr/local/bin/python
我唯一的线索是用户帐户dlib找不到:
/usr/lib/libboost_python-py27.so.1.49.0
但根目录有效并且似乎正在使用:
/usr/local/lib/python2.7/dist-packages/dlib.so
有什么想法可以解决或解决这个问题吗?
答案 0 :(得分:0)
可以尝试的事物:
1)确保以root和普通用户使用相同版本的python。 which python
应该可以在基于Unix的操作系统上使用。以root身份尝试并进行比较,以查看python的安装是否相同。
2)重新安装boost。确保它是正确的版本。尝试使用pip
。
3)如果是权限问题,则可以使用chown
更改相关目录的权限,以确保程序可以访问它。不建议这样做。而且我不认为这是问题所在,因为错误表明它找不到libboost
。这意味着安装存在一些问题。
4)从源代码安装dlib。很简单在此处查看更多信息:http://dlib.net/compile.html。本质上,下载最新版本并从主dlib文件夹运行python setup.py install
。如果您需要更多帮助,我可以指导您。