我寫了一個小型的python應用程序,使用鑰匙環模塊(用於在Windows憑證保險庫中存儲密碼)和wxpython登錄gui,自動將用戶登錄到特定服務。 此服務的登錄工具不支持存儲登錄憑據,但具有我在腳本中使用的cmd登錄方法。pyinstaller:包含鑰匙圈模塊?
該腳本現在已經完成並且工作完美,但是我想將這個exe部署到其他幾個系統。
鑰匙扣似乎不玩pyinstaller不錯,但我得到了我的程序追加一個巨大的隱患進口的名單之後開始ATLEAST:
'json',
'json.decoder',
'json.encoder',
'json.scanner',
'keyring.backends.file',
'keyring.backends.Gnome',
'keyring.backends.Google',
'keyring.backends.keyczar',
'keyring.backends.kwallet',
'keyring.backends.multi',
'keyring.backends.OS_X',
'keyring.backends.pyfs',
'keyring.backends.SecretService',
'keyring.backends.Windows',
'keyring.backends._win_crypto',
'keyring.util.escape',
'keyring.util.XDG',
'keyring.credentials'
與那些應用程序啓動,而不會錯過模塊,但它仍然是任何錯誤它試圖在崩潰訪問憑證保險庫:
c:\PY\novell_login>dist\thread_test\thread_test.exe
Logging in User: test
Traceback (most recent call last):
File "c:\PY\build\thread_test\out00-PYZ.pyz\wx._core", line 16766, in <lambda>
File "<string>", line 119, in LongTaskDone
File "c:\PY\build\thread_test\out00-PYZ.pyz\keyring.core", line 44, in set_password
File "c:\PY\build\thread_test\out00-PYZ.pyz\keyring.backends.file", line 87, in set_password
File "c:\PY\build\thread_test\out00-PYZ.pyz\keyring.backends.Windows", line 81, in encrypt
NameError: global name '_win_crypto' is not defined
我不知道自己還能做些什麼來解決這個... 誰能幫助我正確地包括鑰匙圈或知道一個替代我可以使用。我真的想繼續使用Windows Crendential Vault來存儲密碼。
謝謝!
的Python:2.7.9 pyinstaller:2.1 鑰匙圈:5.6 pywin:建立219