Доступ к 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 ответов
Проверьте Пожалуйста !
- дайте истинный путь (
"C:\Program Files\Java\jre7\bin\client\jvm.dll"
) - проверьте все 32 или 64 бит (мое предложение всегда использует 32bit Anaconda,JRE7, Python и т. д.)
- установить pywin32 (конечно python2.7.9)
- дать разрешение
jvm.dll
(может работать) - после того, как все в порядке, попробуйте:
import ctypes
ctypes.CDLL('C:\Program Files\Java\jre7\bin\client\jvm.dll')
***возможно, не может бросить крючок некоторых версий java
я использовал jre-7u55-windows-i586.exe
Я надеюсь, полезно ! С уважением !
ответ, потому что у меня недостаточно репутации для комментариев; попробуйте использовать необработанные строки вместо обычных, позволяющих "\x" экранировать. Попробуйте:
>>> ctypes.CDLL(r'C:\Program Files (x86)\Java\jre1.8.0_40\bin\client\jvm.dll')
потому что "\...- части веревки вполне могут оказаться побегами.