在 Ubuntu 14.04 上将 gnomekeyring 模块与 Python 和 GTK3 结合使用

Use gnomekeyring module with Python and GTK3 on Ubuntu 14.04

我正在使用 Linux Mint 17,基于 Ubuntu 14.04

我已经安装:

我有以下脚本:

#!/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: Warning: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed import gobject._gobject

我该怎么做才能解决这个问题?

编辑:

python-gnomekeyring使用Gtk+2,不能和Gtk+3在同一个进程中使用。

您应该可以使用来自 gi.repository 的 GnomeKeyring-1.0:

import gi
gi.require_version('Gtk', '3.0')
gi.require_version('GnomeKeyring', '1.0')

from gi.repository import Gtk, GnomeKeyring

正如 oxidworks 在评论中指出的那样,当前的 GnomeKeyring 已将其全部标记为 API 已弃用:libsecrets "Secret" D-Bus API(在 GNOME 上由 GNOME 密钥环提供)应该能够做同样的事情。

有一个 Python API reference but the canonical reference has some python examples 以及关于从 gnome-keyring 迁移的建议——但请注意,后者将主要讨论 C API.