15
>>> 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の再インストール

>> 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() 以前と同じエラーが発生します。

4

4 に答える 4

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. すべて問題ないので、次を試してください。import ctypes ctypes.CDLL('C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll')

***私が使用した一部のJavaバージョンのフックをスローできない可能性がありますjre-7u55-windows-i586.exe

お役に立てば幸いです!よろしくお願いします !

ワインで動作します(バグなし): ここに画像の説明を入力

于 2015-08-22T10:25:12.557 に答える
3

コメントするのに十分な担当者がいないため、回答します。"\x" エスケープを許可する通常の文字列の代わりに生の文字列を使用してみてください。試す:

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

文字列の "\..." 部分はエスケープである可能性が非常に高いためです。

于 2015-08-25T12:28:34.573 に答える
1

上記の回答では不十分です。Bjorns の回答に従って、Microsoft Visual C++ 2010 再頒布可能パッケージ (x86) もインストールする必要があります。

C++ 再頒布可能パッケージをインストールした後:

  1. JAVA_HOME 環境変数を ("C:\Program Files\Java\jre7") に設定します。
  2. 上記のパスを使用して jvm を開始します。

    path_to_jvm = "C:\Program Files\Java\jre7\bin\client\jvm.dll"

    jpype.startJVM(path_to_jvm)

    jpype.startJVM(jpype.getDefaultJVMPath())

于 2018-12-21T00:21:24.703 に答える