2011-10-19 41 views
11

的Webkit當我嘗試導入從gi.repositoryWebkit,它提供了一個ImportError無法導入從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 

我在做什麼錯?

回答

24

您的錯誤似乎是一個錯字,並找不到該庫。

你必須把「WebKit」,而不是「Webkit」。

Additionaly如果你使用Ubuntu檢查庫是否存在有:

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

如果不存在,你需要安裝包gir1.2-WebKit的3.0:Python的

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

然後腳本:

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

注意:Ubuntu的1 7.10或更高版本,該庫似乎稱爲WebKit2。這可能是安裝:

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

而且在發現:

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

您可以在Python中使用,如:

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

似乎在Ubuntu 17.10及更高版本應該是gir1.2- webkit2-4.0,因此'sudo apt-get install gir1.2-webkit2-4.0'應該可以工作......但不幸的是,即使安裝了它,也不能導入Webkit。 – NoBugs

+0

其實你可以,但只能使用與我們之前版本完全不同的gi repository'WebKit2'模塊。 – NoBugs

+0

謝謝,我在答覆中也註明了這一點,這是6年多的變化;) – shakaran