3

インストール後に Python キーリングに問題があります。ここに私のステップがあります:

$ python
>>> import keyring
>>> keyring.set_password('something','otherSomething','lotOfMoreSomethings')

そして、これをスローします:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/keyring/core.py", line 42, in set_password
   _keyring_backend.set_password(service_name, username, password)
File "/usr/local/lib/python2.6/dist-packages/keyring/backend.py", line 222, in set_password
   _, session = service_iface.OpenSession("plain", "")
File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 68, in __call__
   return self._proxy_method(*args, **keywords)
File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 140, in __call__
   **keywords)
File "/usr/lib/pymodules/python2.6/dbus/connection.py", line 630, in call_blocking
   message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod:
   Method "OpenSession" with signature "ss" on interface "org.freedesktop.Secret.Service" 
   doesn't exist

ここからキーリングをインストールしました

easy_install keyring

私は何か悪いことをしていますか?? 解決策はありますか??

編集:

また、リポジトリから python-keyring と python-keyring-gnome をインストールし、次のようにインポートします

>>> import gnome_keyring

そして動作します。

4

2 に答える 2

0

gnomekeyring python パッケージを使用している場合、item_create_sync メソッドを使用して新しいパスワード エントリを作成するか、特定のキーの既存のパスワードを置き換えることができます。

#!/usr/bin/env python
import gnomekeyring

gnomekeyring.item_create_sync ("keyring-name", gnomekeyring.ITEM_GENERIC_SECRET, "key-display-name", {}, "password", True)

item_create_sync メソッドのシグネチャはどこにありますか

item_create_sync (string? keyring, ItemType type, string display_name, AttributeList attributes, string secret, bool update_if_exists)
于 2015-10-08T22:19:28.563 に答える
0

私は同様の問題を抱えていましたが、Gnome を使用しているにもかかわらず、DBus 例外が kwalletd (具体的には /modules/kwalletd) にありました。

私の回避策は、次のようにローカルの「keyringrc.cfg」ファイルを作成することでした。

[backend]
default-keyring=keyring.backends.Gnome.Keyring

システムの構成ファイル パスがどこにあるかを確認するには、 Python キーリング パッケージを参照してください。

于 2016-02-23T04:12:35.553 に答える