Брелок Python, не могу установить пароль
У меня проблема с брелком 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
и работает.
2 ответа
Если вы используете пакет Python gnomekeyring, вы можете использовать метод 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)
У меня была похожая проблема, но мое исключение DBus было на kwalletd (в частности, /modules/kwalletd), хотя я использую Gnome.
Моя работа заключалась в том, чтобы создать локальный файл "keyringrc.cfg" примерно так:
[backend]
default-keyring=keyring.backends.Gnome.Keyring
См. Пакет ключей Python для определения, где находится путь к файлу конфигурации для вашей системы.