AWS CodeArtifact与Poetry私有包认证问题求助
Poetry私有包认证(避免401错误)的正确配置方式
方法一:用Poetry config命令本地存储认证信息(推荐)
直接通过命令行将私有源的认证信息写入本地Poetry配置,不会污染项目的pyproject.toml:
# 配置私有源地址 poetry config repositories.aws {repo-url} # 配置基础认证的用户名和token poetry config http-basic.aws aws {your-token}
这些配置会存在本地的~/.config/pypoetry/auth.toml(Linux/macOS)或%APPDATA%\pypoetry\auth.toml(Windows)中,仅本地生效,无需提交到代码仓库。
方法二:通过环境变量注入认证
如果不想持久化存储认证信息,可以临时通过环境变量传递:
POETRY_HTTP_BASIC_AWS_USERNAME=aws POETRY_HTTP_BASIC_AWS_PASSWORD={your-token} poetry add my-package
若需要长期使用,可将环境变量添加到shell配置文件(如~/.bashrc、~/.zshrc):
export POETRY_HTTP_BASIC_AWS_USERNAME=aws export POETRY_HTTP_BASIC_AWS_PASSWORD={your-token}
注意事项
- 确保pyproject.toml中的源名称(
name = "aws")和配置命令中的名称一致,否则认证不会生效。 - 你的现有源优先级配置(
priority = "primary")是正确的,Poetry会优先从该私有源拉取包,避免混淆公共PyPI源。
内容的提问来源于stack exchange,提问作者ParisNakitaKejser
相关产品推荐
相关产品推荐

