在 Windows 10 上通过 SSH 运行时,Poetry 安装会抛出 WinError 1312

问题描述 投票:0回答:1

我有一个从 Windows 计算机到另一台计算机的 SSH 连接,然后尝试进行诗歌安装。

我的问题是: 通过 ssh 执行诗歌安装时出现此错误:

[WinError 1312] A specified logon session does not exist. It may already have been terminated.
当我在目标机器上本地执行该命令时,该命令完美运行,但通过 ssh 连接时失败。

我怎样才能摆脱/修复[WinError 1312]?

我看到另一个用户最近发布了同样的问题,但将其删除了。

我已经看到了一些有关 MachineKeys 的线索,但真的不知道如何继续。任何建议将不胜感激。


Python:3.10.8

诗歌:1.2.1

Installing dependencies from lock file Package operations: 5 installs, 0 updates, 0 removals • Installing install-requires (0.3.0) OSError [WinError 1312] A specified logon session does not exist. It may already have been terminated. at ~\AppData\Roaming\pypoetry\venv\lib\site-packages\win32ctypes\core\ctypes\_util.py:53 in check_zero 49│ 50│ def check_zero_factory(function_name=None): 51│ def check_zero(result, function, arguments, *args): 52│ if result == 0: → 53│ raise make_error(function, function_name) 54│ return result 55│ return check_zero 56│ 57│ The following error occurred when trying to handle this error: error (1312, 'CredRead', 'A specified logon session does not exist. It may already have been terminated.') at ~\AppData\Roaming\pypoetry\venv\lib\site-packages\win32ctypes\pywin32\pywintypes.py:37 in pywin32error 33│ def pywin32error(): 34│ try: 35│ yield 36│ except WindowsError as exception: → 37│ raise error(exception.winerror, exception.function, exception.strerror) 38│
    
python windows ssh operating-system python-poetry
1个回答
4
投票
根据堆栈跟踪和您的描述的相似性,我的猜测是您面临着来自

#1892#1917 的相同错误,其中 Poetry 尝试使用您的密钥环来访问/发布模块,因此失败当这些凭证无效时。

但似乎诗歌甚至在安装操作时也会尝试访问密钥环。

提出的解决方案之一是远程卸载

keyring

 软件包:

对我来说,我通过 pip 从该 virt 环境中卸载“keyring”包来解决这个问题。

另一个解决方案是导出环境变量

PYTHON_KEYRING_BACKEND

。以下是如何在 Windows cmd 上执行此操作的示例:

SET PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
 或 Windows powershell:

$env:PYTHON_KEYRING_BACKEND="keyring.backends.null.Keyring"
或Linux shell:

export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
不幸的是,问题 #1917 似乎仍然悬而未决且未解决,因此这是您目前可以找到的解决该问题的最佳解决方法。

© www.soinside.com 2019 - 2024. All rights reserved.