在Ubuntu 14.04上,将gnomekeyring模块与Python和GTK3一起使用

在Ubuntu 14.04上,将gnomekeyring模块与Python和GTK3一起使用,python,gtk3,gnome,python-keyring,Python,Gtk3,Gnome,Python Keyring,我使用的是基于Ubuntu 14.04的LinuxMint17 我已安装: python gnomekeyring 2.3.2# PythonGI3.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

我使用的是基于Ubuntu 14.04的LinuxMint17

我已安装:

  • python gnomekeyring 2.3.2#
  • PythonGI3.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_装箱_type_register_static:断言“g_type_from_name(name)==0” 导入gobject失败。\u 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上由GnomeKeyring提供)应该能够做同样的事情


有一个例子,但是规范参考中有一些关于从gnome keyring迁移的建议——但是请注意,后者将主要讨论C API。

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上由GnomeKeyring提供)应该能够做同样的事情


这里有一个例子,但是规范参考对从gnome keyring迁移提供了一些建议——但是请注意,后者主要讨论的是C API。

您好,谢谢您的帮助,Python GnomeKeyring是如何工作的?找不到Python的示例或文档,我花了将近2个小时将代码更改为Python。只能找到这个:当我在那里查找我使用过的methode项\u get\u attributes\u sync时,我看到“自版本以来已弃用?”:请改用secret\u项\u get\u attributes()。但是GnomeKeyring没有秘密的属性。然后我找到了Gtk.Secret.Item。这会取代Python GnomeKeyring吗?Ops,没有注意到所有的反对意见。它不是Gtk的一部分,但是秘密的D-Bus api确实应该可以用于keyring api所做的一切(除了keyring之外,它是提供的)。我最近没有这方面的经验,但我会在答案中添加一个注释。好的,但是我的系统上没有这个秘密。所以我现在尝试使用它。您好,谢谢您的帮助,Python GnomeKeyring是如何工作的?找不到Python的示例或文档,我花了将近2个小时将代码更改为Python。只能找到这个:当我在那里查找我使用过的methode项\u get\u attributes\u sync时,我看到“自版本以来已弃用?”:请改用secret\u项\u get\u attributes()。但是GnomeKeyring没有秘密的属性。然后我找到了Gtk.Secret.Item。这会取代Python GnomeKeyring吗?Ops,没有注意到所有的反对意见。它不是Gtk的一部分,但是秘密的D-Bus api确实应该可以用于keyring api所做的一切(除了keyring之外,它是提供的)。我最近没有这方面的经验,但我会在答案中添加一个注释。好的,但这个秘密在我的系统中不可用。所以我现在尝试使用它