【问题标题】:Use gnomekeyring module with Python and GTK3 on Ubuntu 14.04在 Ubuntu 14.04 上使用带有 Python 和 GTK3 的 gnomekeyring 模块
【发布时间】:2016-12-15 09:26:50
【问题描述】:

我使用的是基于 Ubuntu 14.04 的 Linux Mint 17

我已经安装了:

  • 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(名称)== 0' 导入 gobject._gobject 失败

我能做些什么来解决这个问题?

编辑: Get attributes of GnomeKeyring key with Python 2.7 GTK3 on Ubuntu 14.04

【问题讨论】:

    标签: python gtk3 gnome python-keyring


    【解决方案1】:

    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 在 cmets 中所指出的,当前的 GnomeKeyring 已将其所有 API 标记为已弃用:libsecrets “Secret” D-Bus API(在 GNOME 上由 GNOME 密钥环提供)应该能够执行相同的操作。

    有一个 Python API reference,但规范参考中有一些 python examples 以及从 gnome-keyring 迁移的建议——但请注意,后者将主要讨论 C API。

    【讨论】:

    • 您好,感谢您的帮助,Python GnomeKeyring 是如何工作的?找不到 Python 的示例或文档,并且花了将近 2 个小时将我的代码更改为它。只能找到这个:lazka.github.io/pgi-docs/#GnomeKeyring-1.0 当我在那里查找我使用的方法 item_get_attributes_sync 时,我看到“自版本以来不推荐使用???:改用 secret_item_get_attributes()。”。但是 GnomeKeyring 没有 secret_item_get_attributes。然后我找到了 Gtk.Secret.Item。这是要替换 Python GnomeKeyring 吗?
    • 操作,没有注意到所有的弃用。它不是 Gtk 的一部分,但 Secret D-Bus api 确实应该可用于密钥环 API 所做的一切(并且它提供但密钥环)。我最近没有这方面的经验,但我会在答案中添加注释。
    • 好的,但是 Secret 在我的系统上不可用。
    • 所以我现在尝试使用它stackoverflow.com/questions/41229201/…
    猜你喜欢
    • 2016-08-04
    • 1970-01-01
    • 2014-11-16
    • 2018-02-13
    • 2014-08-31
    • 1970-01-01
    • 2015-03-24
    • 2014-10-16
    • 2015-07-12
    相关资源
    最近更新 更多