Используйте модуль gnomekeyring с Python и GTK3 в Ubuntu 14.04
Я использую Linux Mint 17, основанный на Ubuntu 14.04
Я установил:
- python-gnomekeyring 2.3.2 #
- python-gi 3.12
- python-gtk2 2.24
У меня есть следующий скрипт:
#!/usr/bin/python
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
import gnomekeyring
Но я получаю ошибку:
/usr/lib/python2.7/dist-packages/gobject/constants.py:24: Предупреждение: g_boxed_type_register_static: утверждение 'g_type_from_name (name) == 0' не удалось импортировать gobject._gobject
что я могу сделать, чтобы исправить тикс?
edit: Получить атрибуты ключа GnomeKeyring с Python 2.7 GTK3 в Ubuntu 14.04
1 ответ
python-gnomekeyring использует Gtk+2 и не может использоваться в том же процессе, что и Gtk+3.
Вы должны быть в состоянии использовать GnomeKeyring-1.0 из gi.repository:
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('GnomeKeyring', '1.0')
from gi.repository import Gtk, GnomeKeyring
Как отмечает Oxidworks в комментариях, текущий GnomeKeyring отметил, что все его API устарели: libsecrets "Секретный" D-Bus API (который в GNOME предоставляется GNOME keyring) должен иметь возможность делать то же самое.
Существует ссылка на API Python, но в канонической ссылке есть несколько примеров Python, а также рекомендации по переходу с gnome-keyring - но имейте в виду, что последний будет в основном рассказывать о C API.