运行 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:无法打开共享对象文件:没有这样的文件或目录