Не могу импортировать Webkit из gi.repository

Когда я пытаюсь импортировать Webkit из gi.repository, он дает ImportError:

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

Что я делаю не так?


person Abhilash Nanda    schedule 19.10.2011    source источник


Ответы (1)


Ваша ошибка кажется опечаткой, и библиотека для этого не найдена.

Вы должны поставить «WebKit» вместо «Webkit».

Кроме того, если вы используете Ubuntu, проверьте наличие библиотеки с помощью:

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

Если его нет, вам необходимо установить пакет gir1.2-webkit-3.0:

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

Затем в скрипте Python:

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

Примечание. Для Ubuntu 17.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
person shakaran    schedule 01.11.2011
comment
Кажется, в Ubuntu 17.10 и более поздних версиях это должно быть gir1.2-webkit2-4.0, поэтому sudo apt-get install gir1.2-webkit2-4.0 должно работать... хотя, к сожалению, вы не можете импортировать Webkit, даже если он установлен. - person NoBugs; 14.10.2017
comment
На самом деле вы можете, но только используя модуль WebKit2 репозитория gi, который сильно отличается от версии, которая была у нас раньше. - person NoBugs; 14.10.2017
comment
Спасибо, я также добавляю примечание в ответ, это было изменение более чем за 6 лет;) - person shakaran; 15.10.2017