Raspberry Pi “ImportError: libavg/avg.so: 无法打开共享对象文件:没有此文件或目录”
我到处找这个问题的解决办法,发现了一些类似的问题,但那些解决方案对我没用。
在我的脚本中,当运行到这一行时:
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 个回答
我发现问题其实出在新的libavg结构上。根据他们网站上的信息,他们新版本的文件结构似乎不太适合树莓派。虽然文件的位置是正确的,但树莓派通过libavg库很难找到这个文件。我们只能等libavg来解决这个问题。
需要检查的几点:
这个信息告诉我们什么?
`/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
这就是你需要解决的根本问题。