运行 kivy 示例时无法打开共享对象文件

Posted

技术标签:

【中文标题】运行 kivy 示例时无法打开共享对象文件【英文标题】:cannot open shared object file while running kivy example 【发布时间】:2014-01-07 00:29:01 【问题描述】:

我已经在 ubuntu 上安装了 kivy。运行示例时,出现此错误

 Traceback (most recent call last):
   File "main.py", line 17, in <module>
     from jnius import autoclass
   File "/usr/lib/python2.7/dist-packages/jnius/__init__.py", line 12, in <module>
     from .jnius import *
 ImportError: libjvm.so: cannot open shared object file: No such file or directory

如何解决这个错误?

【问题讨论】:

确保您使用的是 kivy 附带的 python,并确保您的路径和环境反映了这一点... @JoranBeasley:你能告诉我怎么做吗?我是新手。 如果您使用支持项目环境(如 eclipse 或 pycharm)的 IDE 最简单...您需要按照 IDE 中的说明进行操作...但只需确保它指向python in /whatever/kivy/python/... 然后你还需要设置你的路径变量,我认为iirc正确kivy还需要知道其他几个变量......我很确定kivy有一个关于设置你的kivy开发环境的教程 您是否按照这些说明进行操作kivy.org/docs/installation/installation-linux.html#ubuntu? 是的,我确实遵循了所有说明。我在演示文件夹中的示例正在运行,但在演示文件夹之外没有运行并给我这个错误。 【参考方案1】:

您没有具体说明您正在运行哪个示例,但此示例使用 pyjnius,这意味着它可能打算在 android 上运行。

【讨论】:

【参考方案2】:

我在使用 javabridge 时遇到了同样的错误,并且在尝试导入 _javabridge 时文件 jutil.py 中发生了错误。我认为这可能是在 python 项目中调用 java 时的常见错误。

这里的关键是找到“丢失的”libjvm.so 文件。它应该在您的 jdk 目录中的某个位置。然后在您运行程序时添加到您的路径。 (对不起,对jnius不熟悉)

(仅供参考。我在一台linux机器上,所以我在我的usr/java/jdk1.7目录中做了find ./ -name "libjvm.so"并找到了它的位置。然后,就我而言,我配置了环境变量LD_LIBRARY_PATH=/usr/java/jdk1.7/jre/lib/amd64/server。)

【讨论】:

以上是关于运行 kivy 示例时无法打开共享对象文件的主要内容,如果未能解决你的问题,请参考以下文章

clang:加载共享库时出错:libtinfo.so.5:无法打开共享对象文件:没有这样的文件或目录

屏幕上出现错误:ImportError:libcuda.so.1:无法打开共享对象文件

无法打开共享对象文件:没有这样的文件或目录;在 Eclipse 中运行或调试

ImportError:libOpenGL.so.0:无法打开共享对象文件:没有这样的文件或目录

导入错误:libmariadbclient.so.18:无法打开共享对象文件:没有这样的文件或目录

加载共享库时出错,无法打开共享对象文件:没有这样的文件或目录(hiredis)