Используйте модуль 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.

Другие вопросы по тегам