【问题标题】:OSError: cannot open shared object file: No such file or directory even though file is in the folderOSError:无法打开共享对象文件:即使文件在文件夹中,也没有这样的文件或目录
【发布时间】:2015-02-12 15:54:02
【问题描述】:

我已经为此奋斗了很长时间。我正在尝试安装 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

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

export LD_LIBRARY_PATH=/usr/local/lib

确实,当我回显 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

所以不应该一切都好吗?我不明白有什么问题。我已经按照说明进行操作了。

【问题讨论】:

  • 您能否更改您的代码,以便在该异常发生之前打印os.environ?这样我们就可以检查 Python 进程是否设置了正确的环境。其他要检查的明显事项是您的 Python 进程是否有足够的权限来打开和读取libyaafe-python.so
  • @Jan-PhilipGehrcke 事实证明,我是个白痴。我尝试使用 sudo 运行脚本,但删除 sudo 并正常运行它可以正常工作。您检查正确权限的想法将我引导到正确的答案,所以如果您希望我将其标记为解决方案,然后将其发布为答案:)
  • 感谢您的反馈。不是白痴,发生在我们所有人身上。只是你从这些东西中学到了东西,这就是为什么诊断很容易。

标签: python module makefile


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-12
    • 2018-11-26
    • 2019-11-27
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多