在Mac OS X上设置Enthought enpkg时的钥匙串问题

1 投票
4 回答
1563 浏览
提问于 2025-04-17 14:54

以前,我在我的笔记本电脑上成功安装了 enpkg,方法是:

$ enpkg --userpass

我记得当时是在10.8或更早的版本上安装的。现在我想在实验室的一台机器上做同样的事情,这台机器运行的是10.8.2。当我运行之前提到的 $ enpkg --userpass 命令时,出现了一个错误信息,最后显示:

keyring.backend.PasswordSetError: 无法在钥匙串中存储密码

这是在我输入用户名和密码之后出现的。我注意到版本之间有一点小差别;我的实验室机器(出问题的那台)是:

haptic:~ flip$ enpkg --version
enstaller version: 4.5.0

而我的笔记本电脑运行的是4.5.6。现在我面临一个棘手的问题,因为在我能成功安装 enpkg 之前,我无法更新它,可能只能通过完全重新安装来解决。

我该如何解决这个问题呢?

4 个回答

0

关于更新 enpkg(也叫 enstaller),你不需要任何账号密码就可以进行更新。也就是说,你可以在不成功运行 enpkg --userpass 的情况下,顺利更新 enpkg。

4

我最近也遇到了这个问题——在通过SSH连接时,它会阻止软件包更新,这很麻烦。我在使用OS X 10.6.8的enstaller 4.6.2。

解决办法是,在运行 enpkg --userpass 之前,先从SSH会话中解锁 OS X的用户登录钥匙串:

security unlock-keychain
enpkg --userpass                            # now password can be stored in keychain
0

我想我找到了问题所在。

在提问的时候,我是通过 ssh 远程连接到实验室的机器上运行 enpkg 命令。

后来我直接去那台机器,登录后打开了 Terminal

看起来,当通过Mac的图形界面登录时,它会小心翼翼地解锁钥匙串,但通过 ssh 连接时就不会。因此,我才能正确配置它。

所以,如果要在一堆没有显示器的Mac上部署Enthought,这可能会成为一个问题。

撰写回答