从python访问JVM

Abh*_*tia 13 python java jvm boilerpipe

>>> 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
Run Code Online (Sandbox Code Playgroud)

尝试:重新安装jvm

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

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

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

dsg*_*dfg 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. 一切ok后,尝试:import ctypes ctypes.CDLL('C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll')

***可能无法抛出我使用的某些java版本的钩子jre-7u55-windows-i586.exe

我希望有帮助!此致 !

适用于 Wine(无错误): 在此输入图像描述

  • 谢谢!不幸的是我收到了这个错误。`&gt;&gt;&gt; ctypes.CDLL('C:\Program Files (x86)\Java\jre1.8.0_40\bin\client\jvm.dll') 回溯(最近一次调用):文件“&lt;stdin&gt;”,行1、在&lt;module&gt;文件“C:\Anaconda\lib\ctypes\__init__.py”中,第365行,在__init__中 self._handle = _dlopen(self._name, mode) WindowsError: [Error 126] 指定的模块无法被发现` (3认同)