【问题标题】:Exe built using pyinstaller on a Django with pylucene app giving JVM error在 Django 上使用 pyinstaller 构建的 Exe 带有 pylucene 应用程序给出 JVM 错误
【发布时间】:2014-05-09 10:34:02
【问题描述】:

我收到一个错误:

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

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

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

如何修复错误?

【问题讨论】:

    标签: django pyinstaller pylucene


    【解决方案1】:

    鉴于您提供的细节很少,我无法确定,这里只是在黑暗中帮助解决您的问题:

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

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

    如果它是一个未正确加载的 java 类,那么您立即知道它不能在类路径环境变量中正确表示,您应该尽一切努力确保它是:

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

    否则,请考虑用更多细节来扩大您的问题,特别是如果您可以获得更有意义的错误输出。

    【讨论】:

      【解决方案2】:

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

      通过将 C:\Program Files\Java\ [your jdk version here] \jre\bin\server 添加到 wine 中的 PATH 环境变量,我的问题就解决了- 我想在 Windows 中可能是一样的。

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

      【讨论】:

      • 我想我现在明白了。当我使用 jre 路径构建 .exe 时,它​​在 .exe 中包含了 jvm.dll 文件,因此我收到了一个错误,因为它找不到 jre 的其余部分。因此,显然有 2 个解决问题的方法 a) 将所有 jre 文件夹添加到您的 .exe(不可移植,但不要摆弄路径)b) 构建没有路径jre\bin\server 在你的路径中,并将它添加到你要执行 .exe 文件的路径中
      猜你喜欢
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      • 2020-08-07
      • 1970-01-01
      • 2012-06-16
      • 2019-03-20
      • 1970-01-01
      • 2013-08-31
      相关资源
      最近更新 更多