Raspberry Pi “ImportError: libavg/avg.so: 无法打开共享对象文件:没有此文件或目录”

0 投票
2 回答
797 浏览
提问于 2025-04-18 09:29

我到处找这个问题的解决办法,发现了一些类似的问题,但那些解决方案对我没用。

在我的脚本中,当运行到这一行时:

from avg import *

就会报错。

ImportError: /usr/local/lib/python2.7/dist-packages/libavg/avg.so: cannot open shared object file: No such file or directory"

我尝试把它添加到路径中,包括文件夹 /usr/local/lib/python2.7/dist-packages/libavg/ 和文件 /usr/local/lib/python2.7/dist-packages/libavg/avg.so,还有 LD_LIBRARY_PATH,但都没有效果。我还尝试过更新、升级,甚至为了保险又用 apt-get 安装了一遍。

我不是老练的Linux用户,但也不算完全新手,不过这次让我感觉像个菜鸟。

关于硬件,这个问题发生在树莓派上。我不知道这是否有影响。

补充:avg.so 文件确实在它说的那个位置(/usr/local/lib/python2.7/dist-packages/libavg),而且我是在树莓派上以唯一用户“Pi”身份运行它的,那个用户是管理员。我不知道它是否是符号链接,也不知道怎么判断。我可以用CAT命令查看这个文件,结果显示一堆奇怪的字符,不过因为它是一个 .so 文件,而不是 .py 文件,打开后只显示编译后的字符。

补充2:经过一段时间的查找,我发现 avg.so 是一个链接文件。这会有影响吗?如果有,我该怎么解决这个问题,因为从 avg 导入内容对我正在做的事情很重要。

2 个回答

0

我发现问题其实出在新的libavg结构上。根据他们网站上的信息,他们新版本的文件结构似乎不太适合树莓派。虽然文件的位置是正确的,但树莓派通过libavg库很难找到这个文件。我们只能等libavg来解决这个问题。

2

需要检查的几点:

这个信息告诉我们什么?

`/usr/local/lib/python2.7/dist-packages/libavg/avg.so:`
 `cannot open shared object file: No such file or directory`

所以你需要检查:

  • 文件 /usr/local/lib/python2.7/dist-packages/libavg/avg.so 真的存在吗?
  • 如果存在,运行代码的用户有没有足够的权限去打开它或者查看它?

可能缺少 avg.so 文件

假设 avg.so 应该是 libavg 的一部分,那么这里有一个问题 # 495: LibAVG master won't compile on RPi

这就是你需要解决的根本问题。

撰写回答