2011-10-19 24 views
11

Khi tôi cố gắng nhập Webkit từ gi.repository, nó mang lại cho một ImportError:Không thể nhập Webkit từ 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 

Tôi đang làm gì sai?

Trả lời

24

Lỗi của bạn có vẻ như lỗi chính tả và thư viện không được tìm thấy cho điều đó.

Bạn phải đặt "WebKit" thay vì "Webkit".

Additionaly nếu bạn sử dụng Ubuntu kiểm tra sự tồn tại thư viện với:

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

Nếu không tồn tại bạn cần cài đặt gói gir1.2-webkit-3.0:

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

Sau đó, trên python tập lệnh:

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

Lưu ý: Dành cho Ubuntu 1 7.10 hoặc mới hơn, thư viện có vẻ được gọi là WebKit2. Điều này có thể được cài đặt:

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

Và tìm thấy trong:

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

Bạn có thể sử dụng bằng Python như:

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

Dường như trên Ubuntu 17.10 và sau đó nó phải được gir1.2- webkit2-4.0, do đó, 'sudo apt-get install gir1.2-webkit2-4.0' nên hoạt động ... mặc dù tiếc là bạn không thể nhập Webkit ngay cả khi nó được cài đặt. – NoBugs

+0

Trên thực tế bạn có thể, nhưng chỉ sử dụng kho lưu trữ gi 'WebKit2' mô-đun đó là khá khác với phiên bản chúng tôi đã có trước đây. – NoBugs

+0

Cảm ơn tôi cũng đã thêm ghi chú trong thư trả lời, đây là thay đổi trong hơn 6 năm;) – shakaran

Các vấn đề liên quan