2011-10-19 6 views
11

Quando provo ad importare Webkit da gi.repository, dà un ImportError:non può importare Webkit da gi.repository

from gi.repository import Webkit 
ERROR:root:Could not find any typelib for Webkit 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: cannot import name Webkit 

Che cosa sto facendo di sbagliato?

risposta

24

Il tuo errore sembra un errore di battitura e la libreria non è stata trovata per quello.

Devi mettere "WebKit" invece di "Webkit".

Additionaly se si utilizza Ubuntu verificare l'esistenza biblioteca con:

$ locate girepository | grep WebKit 
/usr/lib/girepository-1.0/WebKit-3.0.typelib 

Se non esiste è necessario installare il pacchetto gir1.2-webkit-3.0:

# apt-get install gir1.2-webkit-3.0 

Poi, il pitone script:

import gi 
gi.require_version('WebKit', '3.0') 
from gi.repository import WebKit 

Nota: Per Ubuntu 1 7.10 o successive, la libreria sembra chiamata WebKit2. Che potrebbe essere installato:

$sudo apt-get install gir1.2-webkit2-4.0 

E si trovano in:

$ locate girepository | grep WebKit 
/usr/lib/x86_64-linux-gnu/girepository-1.0/WebKit2-4.0.typelib 

È possibile utilizzare in Python come:

import gi 
gi.require_version('WebKit2', '4.0') 
from gi.repository import WebKit2 
+0

Sembra su Ubuntu 17.10 e in seguito dovrebbe essere gir1.2- webkit2-4.0, quindi 'sudo apt-get install gir1.2-webkit2-4.0' dovrebbe funzionare ... anche se sfortunatamente non è possibile importare Webkit anche se installato. – NoBugs

+0

In realtà è possibile, ma si utilizza solo il modulo gi repository 'WebKit2' che è molto diverso dalla versione precedente. – NoBugs

+0

Grazie anche io aggiungo come nota nella risposta, questo è stato un cambiamento in più di 6 anni;) – shakaran