15
>>> import boilerpipe
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda\lib\site-packages\boilerpipe\__init__.py", line 10, in <module>
    jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % os.pathsep.join(jars))
  File "C:\Anaconda\lib\site-packages\jpype\_core.py", line 50, in startJVM
    _jpype.startup(jvm, tuple(args), True)
RuntimeError: Unable to load DLL [C:\Program Files\Java\jre7\bin\client\jvm.dll], error = The specified module could not be found.
 at native\common\include\jp_platform_win32.h:58

尝试:重新安装jvm

>> import ctypes
>> import os
>> os.chdir(r"<path to Java bin client folder>")
>> ctypes.CDLL("jvm.dll")
Still unable to fix

编辑:尝试下面的代码,仍然卡住:

from py4j.java_gateway import JavaGateway gateway = JavaGateway() 它给出了与以前相同的错误。

4

4 回答 4

3

请检查 !

  1. 给出真实路径 ( "C:\\Program Files\\Java\\jre7\\bin\client\\jvm.dll")
  2. 检查所有 32 位或 64 位(我的报价始终使用 32 位 Anaconda、JRE7、Python 等)
  3. 安装pywin32(当然是python2.7.9)
  4. 授予权限jvm.dll(可以运行)
  5. 一切正常后,尝试:import ctypes ctypes.CDLL('C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll')

***也许不能抛出我使用的一些 java 版本的钩子jre-7u55-windows-i586.exe

我希望有帮助!此致 !

适用于葡萄酒(无错误): 在此处输入图像描述

于 2015-08-22T10:25:12.557 回答
3

回答是因为我没有足够的代表发表评论;尝试使用原始字符串而不是允许“\x”转义的普通字符串。尝试:

>>> ctypes.CDLL(r'C:\Program Files (x86)\Java\jre1.8.0_40\bin\client\jvm.dll')

因为字符串的“\...”部分很可能是转义符。

于 2015-08-25T12:28:34.573 回答
1

上面的答案还不够,还需要按照 Bjorns 的答案安装 Microsoft Visual C++ 2010 Redistributable Package (x86) 。

安装 C++ 可再发行组件后:

  1. 将 JAVA_HOME 环境变量设置为 ("C:\Program Files\Java\jre7")
  2. 使用上面提到的路径来启动 jvm:

    path_to_jvm = "C:\Program Files\Java\jre7\bin\client\jvm.dll"

    jpype.startJVM(path_to_jvm)

    jpype.startJVM(jpype.getDefaultJVMPath())

于 2018-12-21T00:21:24.703 回答
1

如果您尝试在 Windows 操作系统上访问 JVM,请确保您安装了正确版本的 JVM(32 位或 64 位)。在我的例子中,python 是 64 位的,一旦我安装了 Java 64 位,它就可以工作,而无需指定路径或任何其他额外要求。

于 2019-09-05T22:47:51.340 回答