使用pylucene app在Django上使用pyinstaller构建的exe,给出了JVM错误

时间:2014-05-09 10:34:03

标签: django pyinstaller pylucene

我收到错误:

"Error occurred during initialization of VM
Unable to load native library: Can't find dependent libraries"

当我尝试执行我的exe文件时出现错误。

我在django应用程序上通过pyinstaller创建了exe文件。应用程序使用pylucine库。我认为这可能是错误的问题。

如何修复错误?

2 个答案:

答案 0 :(得分:0)

由于我不能确定,因为你提供的细节很少,这是一个黑暗的镜头,以帮助解决你的问题:

首先,尝试删除使用pyinstaller -D youmodule.py命令打包的jvm.dll文件(现在使用directory命令而不是-F选项)。 The reason why is here

随着jvm.dll文件的消失,您应该开始看到实际的错误代码 - 以及未加载的java类或依赖项。

如果它是一个没有正确加载的java类,那么你立刻就知道它不能在类路径环境变量中正确表示,你应该尽力确保它是:

例如:os.environ['CLASSPATH'] += 'the/path/to/the/jar'

否则,请考虑使用更多详细信息来填充您的问题,特别是如果您可以获得更有意义的错误输出。

答案 1 :(得分:0)

尝试运行使用PyInstaller通过wine构建的.exe时遇到了同样的错误。

通过将C:\ Program Files \ Java \ [您的jdk版本] \ jre \ bin \ server添加到wine中的 PATH 环境变量,我的问题消失了 - 我想在Windows中它可能是相同的。

如果我尝试使用 PATH 中的C:\ Program Files \ Java \ [您的jdk版本] \ jre \ bin \ server进行构建,也会再次出现,所以我必须在没有它的情况下进行构建,然后在运行之前将其附加(我没有解释为什么会发生这种情况)。