OSError:无法打开共享对象文件:即使文件在文件夹中,也没有这样的文件或目录

Ava*_*kku 6 python module makefile

我已经和这个斗争了很长一段时间了。我正在尝试安装 Yaafe 以进行音频特征提取。我按照这里的说明进行操作:https : //github.com/Yaafe/Yaafe

一切都安装得很好,但是当我尝试运行测试文件“frames.py”时,出现以下错误:

  File "frames.py", line 6, in <module>
    from yaafelib import FeaturePlan, Engine, AudioFileProcessor 
  File "/usr/local/lib/python2.7/dist-packages/yaafelib/__init__.py", line 36, in <module>
    from yaafelib.core import (loadComponentLibrary,
  File "/usr/local/lib/python2.7/dist-packages/yaafelib/core.py", line 35, in <module>
    yaafecore = cdll.LoadLibrary('libyaafe-python.so')
  File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libyaafe-python.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我已使用以下命令将 lib 目录包含到 LD_LIBRARY_PATH 中:

export LD_LIBRARY_PATH=/usr/local/lib
Run Code Online (Sandbox Code Playgroud)

事实上,当我回显 LIBRARY_PATH 时,它就在那里。此外,当我检查 /usr/local/lib 时,它具有以下内容:

libyaafe-components.so         libyaafe-io.so             python2.7
libyaafe-components.so.0       libyaafe-io.so.0           python3.4
libyaafe-components.so.0.70.0  libyaafe-io.so.0.70.0      site_ruby
libyaafe-core.so               libyaafe-python.so         yaafe
libyaafe-core.so.0             libyaafe-python.so.0
libyaafe-core.so.0.70.0        libyaafe-python.so.0.70.0
Run Code Online (Sandbox Code Playgroud)

所以不应该一切正常吗?我不明白有什么问题。我已经按照指示去做了。

Jan*_*cke 4

更改您的代码,以便os.environ在异常发生之前进行打印。这样您就可以看到 Python 进程是否设置了正确的环境。另一个明显需要检查的事情是您的 Python 进程是否有足够的权限来打开和读取libyaafe-python.so. 请注意,sudo出于安全原因,默认情况下会限制所调用命令的环境(例如,请参见此处)。