从python访问JVM [英] Accessing JVM from python
本文介绍了从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.
推荐答案
请检查!
- 给出一条真正的路径(
C:\\Program Files \\Java \\jre7 \\ bin \client\\jvm.dll
) - 检查所有32位或64位(我的报价总是使用32位Anaconda,JRE7,Python等)
- 安装pywin32(当然是python2.7.9)
- 授予
jvm.dll
的权限(可以运行) - 一切正常后,试试:
import ctypes
ctypes.CDLL('C: \\Program Files \\ Java \\jre7 \\\\\\\\\\\\\\\\\\\\\\\\\\\
- Give a true path (
"C:\\Program Files\\Java\\jre7\\bin\client\\jvm.dll"
) - Check all 32 or 64 bit (my offer always use 32bit Anaconda,JRE7,Python etc.)
- Install pywin32 (of course python2.7.9)
- Give permission to
jvm.dll
(can run) - 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屋!
查看全文