У меня есть следующий тестовый код Python:
import keyring
print(keyring.get_keyring())
keyring.set_password("a","b","c")
print(keyring.get_password("a","b"))
Если я запускаю этот код с использованием 32-битного или 64-битного Python, я получаю следующий вывод (как и ожидалось):
<keyring.backends.Windows.WinVaultKeyring object at 0x00000187B7DD6358>
c
Моя цель - создать два автономных исполняемых файла (32-битный и 64-битный): для этого я использую pyinstaller и следующую команду (test.py - это имя файла, содержащего код Python, показанный выше)
pyinstaller --onefile test.py
Если я запускаю 64-битный exe-файл, я получаю следующий вывод (как и ожидалось):
<keyring.backends.Windows.WinVaultKeyring object at 0x00000187B7DD6358>
c
Вместо этого, если я запускаю 32-битный exe-файл, я получаю следующий вывод:
<keyring.backends.fail.Keyring object at 0x05463ED0>
Traceback (most recent call last):
File "test.py", line 3, in <module>
keyring.set_password("a","b","c")
File "site-packages\keyring\core.py", line 47, in set_password
File "site-packages\keyring\backends\fail.py", line 23, in get_password
RuntimeError: No recommended backend was available. Install the keyrings.alt package if you want to use the non-recommended backends. See README.rst for details.
[2732] Failed to execute script test
Кто-нибудь знает, что происходит?
Спасибо,
Даниэле