您如何配置 Python 密钥环以从 Windows 7 上的 Windows 凭据管理器中提取凭据



我花了很多时间研究密钥环包,试图让一个简单的示例工作。 我在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()

相关内容

最新更新