2015-08-17 13 views
9
>>> 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 

provato: reinstallazione jvmAccesso JVM in pitone

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

Edit: codice provato qui sotto, ancora bloccato:

from py4j.java_gateway import JavaGateway gateway = JavaGateway() Si dà lo stesso errore di prima.

+1

Il caricamento della JVM da una DLL è molto difficile anche da C. Suggerisco di caricare la JVM usando 'java' dalla riga di comando o utilizzare Jython che gira già nella JVM. –

+0

@PeterLawrey Grazie per il commento! Non sono a conoscenza di 'Jython'. Dovrei semplicemente installarlo ed eseguire nuovamente il mio script python? O c'è di più? –

+0

Jython esegue script Python all'interno della JVM. Presumo che ci sia dell'altro, ma questo è progettato e supportato per funzionare con la JVM in cui è in esecuzione. –

risposta

3

Controllare per favore!

  1. dare un vero percorso ("C:\\Program Files\\Java\\jre7\\bin\client\\jvm.dll")
  2. Controllare tutti i 32 o 64 bit (la mia offerta utilizzare sempre 32bit Anaconda, JRE7, Python, ecc)
  3. Installare pywin32 (ovviamente python2.7.9)
  4. dare il permesso di jvm.dll (può essere eseguito)
  5. Dopo tutto è ok, provare: import ctypesctypes.CDLL('C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll')

** * Forse non posso gettare il gancio di alcune versioni java ho usato jre-7u55-windows-i586.exe

spero utile! I migliori saluti !

opere sul vino (senza bug): enter image description here

+3

Grazie! Ho sbagliato questo errore. '>>> ctypes.CDLL ('C: \ Programmi (x86) \ Java \ jre1.8.0_40 \ bin \ client \ jvm.dll') Traceback (ultima chiamata ultima): File" ", riga 1, in File "C: \ Anaconda \ lib \ ctypes \ __ init__.py", riga 365, in __init__ self._handle = _dlopen (self._name, mode) WindowsError: [Errore 126] Il modulo specificato potrebbe non essere trovato' –

3

telefonica perché non ho abbastanza rep per commentare; Prova a utilizzare le stringhe non elaborate anziché quelle normali, consentendo l'escapizzazione di "\ x". Prova:

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

Poiché le parti "\ ..." della stringa potrebbero benissimo essere delle fughe.