【发布时间】:2019-01-07 22:54:00
【问题描述】:
我有一些代码正在使用 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,但均未成功。
当我检查该库时,它似乎确实从 root 和用户级别帐户中丢失,即使 DLIB 实际上在 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
有什么想法可以解决或修复它吗?
【问题讨论】:
-
听起来像一个愚蠢的问题,但你确定你的 root 和用户使用相同的 python 安装吗?有时他们甚至可以共享相同的版本号,这会让人很困惑。安装的时候有没有试过
\path\to\python.exe -m pip install dlib? -
@DanielScott 我检查了这个,他们使用的是相同的 python - 但看起来它并不总是清楚它指向的路径明智。在根目录下 liboost 可以在 /usr/local/lib/python2.7/dist-packages/dlib.so 中找到——但看起来非 root 用户在导入 dlib 时无法访问它——实际上它看起来对于不存在的文件。
-
@davedwards 不幸的是,这个问题和解决方案与我的问题完全不同:(
-
@FightFireWithFire 感谢您的反馈,我将删除我的建议
标签: python shared-libraries dlib .so