从python访问JVM [英] Accessing JVM from python

查看:1317
本文介绍了从python访问JVM的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

>>> 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

Tried: Reinstalling jvm

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

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

Tried code below, still stuck:

来自py4j.java_gateway import JavaGateway
gateway = JavaGateway()

它给出了与以前相同的错误。

from py4j.java_gateway import JavaGateway gateway = JavaGateway() It gives the same error as before.

推荐答案

请检查!


  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 \\\\\\\\\\\\\\\\\\\\\\\\\\\
  1. Give a true path ("C:\\Program Files\\Java\\jre7\\bin\client\\jvm.dll")
  2. Check all 32 or 64 bit (my offer always use 32bit Anaconda,JRE7,Python etc.)
  3. Install pywin32 (of course python2.7.9)
  4. Give permission to jvm.dll(can run)
  5. After all is ok, try: import ctypes ctypes.CDLL('C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll')

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

***Maybe can't throw the hook of some java versions i used jre-7u55-windows-i586.exe

我希望对您有所帮助!最好的问候!

i hope helpful ! Best regards !

适用于葡萄酒(无错误):

Works on wine(no bug):

这篇关于从python访问JVM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆