目 录CONTENT

文章目录

【Python】Poetry install 卡死问题处理

EulerBlind
2025-08-01 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

问题描述

在使用 Poetry 安装依赖时,经常会遇到安装过程卡死的问题,特别是在 Linux 系统(如 Ubuntu)上。这个问题通常发生在 Poetry 尝试访问系统密钥环(keyring)时。

典型症状

安装过程会卡在以下位置:

- Installing wrapt (1.12.1): Pending...
Checking if keyring is available
[keyring:keyring.backend] Loading KWallet
[keyring:keyring.backend] Loading SecretService
[keyring:keyring.backend] Loading Windows
[keyring:keyring.backend] Loading chainer
[keyring:keyring.backend] Loading libsecret
[keyring:keyring.backend] Loading macOS
Using keyring backend 'SecretService Keyring'

解决方案

方案一:禁用 keyring(推荐)

python3 -m keyring --disable

这个命令会禁用系统的密钥环服务,避免 Poetry 在安装过程中尝试访问密钥环。

方案二:设置环境变量

export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
poetry install

方案三:使用 pip 安装

如果 Poetry 持续出现问题,可以临时使用 pip:

pip install -r requirements.txt

方案四:清理 Poetry 缓存

poetry cache clear --all pypi
poetry install

预防措施

1. 配置 Poetry 不使用密钥环

在项目根目录创建或编辑 poetry.toml

[poetry]
keyring = false

2. 设置全局配置

poetry config keyring.enabled false

3. 使用虚拟环境

确保在独立的虚拟环境中工作:

poetry env use python3
poetry install

问题原因

这个问题通常由以下原因引起:

  1. 密钥环服务问题:系统密钥环服务未正确配置或运行
  2. 权限问题:Poetry 无法访问系统密钥环
  3. 网络问题:在尝试访问密钥环时网络连接问题
  4. 系统资源:系统资源不足导致进程卡死

验证解决方案

安装完成后,可以通过以下命令验证:

poetry show
poetry run python -c "import sys; print('安装成功')"

相关资源

总结

Poetry install 卡死问题主要是由于密钥环访问问题引起的。通过禁用 keyring 或配置 Poetry 不使用密钥环,可以有效解决这个问题。建议在项目配置中永久禁用密钥环功能,避免后续安装时再次遇到类似问题。

0

评论区