Доступ к JVM из python

>>> import boilerpipe
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:Anacondalibsite-packagesboilerpipe__init__.py", line 10, in <module>
    jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % os.pathsep.join(jars))
  File "C:Anacondalibsite-packagesjpype_core.py", line 50, in startJVM
    _jpype.startup(jvm, tuple(args), True)
RuntimeError: Unable to load DLL [C:Program FilesJavajre7binclientjvm.dll], error = The specified module could not be found.
 at nativecommonincludejp_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() Это дает ту же ошибку, что и раньше.

2 ответов


Проверьте Пожалуйста !

  1. дайте истинный путь ("C:\Program Files\Java\jre7\bin\client\jvm.dll")
  2. проверьте все 32 или 64 бит (мое предложение всегда использует 32bit 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

Я надеюсь, полезно ! С уважением !

работы на вине(отсутствие ошибки): enter image description here


ответ, потому что у меня недостаточно репутации для комментариев; попробуйте использовать необработанные строки вместо обычных, позволяющих "\x" экранировать. Попробуйте:

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

потому что "\...- части веревки вполне могут оказаться побегами.