Python Poetry无法从AWS CodeArtifact安装已发布包求助
解决Poetry无法安装AWS CodeArtifact包的问题
以下是几个可行的排查和解决步骤:
重新配置CodeArtifact认证令牌
CodeArtifact的令牌存在有效期,Poetry可能未自动刷新凭证。执行以下操作:- 生成新的认证令牌:
aws codeartifact get-authorization-token --domain test-domain-1234 --domain-owner 你的AWS账号ID --region region --query authorizationToken --output text - 配置Poetry使用该令牌:
注意:CodeArtifact要求认证用户名固定为poetry config http-basic.artifact aws $(aws codeartifact get-authorization-token --domain test-domain-1234 --domain-owner 你的AWS账号ID --region region --query authorizationToken --output text)aws,令牌作为密码使用。
- 生成新的认证令牌:
修正源URL格式
Poetry对PyPI源的URL格式要求更严格,需指向/simple/路径。修改pyproject.toml中的源配置:[[tool.poetry.source]] name = "artifact" url = "https://test-domain-1234.d.codeartifact.region.amazonaws.com/pypi/test-repo/simple/" default = true清除Poetry缓存
过期的缓存索引可能导致包查找失败:poetry cache clear pypi --all清除后再次尝试安装:
poetry add sample-package确认包的发布信息
- 检查包名是否完全匹配(部分场景下Poetry对大小写敏感)
- 如果包是预发布版本,需添加
--allow-prereleases参数:poetry add sample-package --allow-prereleases
内容的提问来源于stack exchange,提问作者andnik
相关产品推荐
相关产品推荐

