我最近切换到 Anaconda,但遇到了问题。我的 python 代码使用一个 C++ 共享库,它从接口接收原始帧。为此,通常需要 root 权限。为了不让每次执行都使用 sudo,我一般都会给 python 解释器cap_net_raw
和cap_ipc_lock
能力(这是一个学术设置,所以没有理由担心安全性,至少现在是这样)。通常这适用于默认的 python 安装(我使用的是 Ubuntu 14.04.4),但是当我尝试对 Anaconda 的 python 可执行文件(4.3.0,Python 3.6)执行相同操作时,我收到以下错误:
python:加载共享库时出错:libpython3.6m.so.1.0:无法打开共享对象文件:没有这样的文件或目录
该库位于应有的位置,并且ldd
在 python 可执行文件上显示它指向它。添加它的路径LD_LIBRARY_PATH
不会做任何事情。删除功能然后恢复此问题。
我尝试了一个干净的 Python 3.6 系统安装,并且没有任何问题。
将不胜感激任何输入,谢谢。