我花了很多时间研究密钥环包,试图让一个简单的示例工作。 我在Windows 7-x64机器上使用python 2.7。 我已经安装了软件包并确认这些文件在我的 Lib/站点包文件夹中。
在安装文档中的这个代码片段中,"系统"应该包含什么?
import keyring
keyring.get_password("system", "username")
当我运行代码时,出现以下错误:
运行时错误:没有推荐的后端可用。 如果要使用不推荐的后端,请安装 keyrings.alt 包。
似乎它没有将Windows识别为后端。 我觉得我错过了一个简单的步骤。 感谢任何帮助,包括从 Windows 凭据管理器中提取通用凭据的简单代码示例。
终于开始工作了。 肖恩的信息为我指明了安装pywin32
的正确方向。 从那里,我在Windows凭据管理器中创建测试凭据并测试Python密钥环函数时进行了反复试验。
只让它与通用凭据一起使用,这对我的目的来说很好。 我将互联网或网络地址设置为 "test"
。 用户名设置为 "test_user"
。 密码设置为 "test123"
。 (此处包含的引号仅供参考,输入时不包括在内。
print keyring.get_password("test","test_user")
返回结果"test123"
希望这些信息对其他人有所帮助。 感谢肖恩为解决这个问题提供了方向。
您可能需要安装 pywin32
软件包。 这样做为我解决了问题。
使用conda
:
conda install -e environment_name_here pywin32
使用pip
:
pip install pywin32
切线:出于某种原因,代码吞噬了一个异常,否则 Windows 凭据管理器类会引发该异常以提醒您注意此问题。 这是例外,这是它被抓住并扔掉的地方。
你是否可以这样做,但你可以要求用户使用以下命令提供它的凭据
import admin
if not admin.isUserAdmin():
admin.runAsAdmin()