如何使用token通过poetry将Python包发布至内部Artifactory
Poetry 1.1.6 配置API Token上传Artifactory私有仓库解决方案
可行性说明
Poetry 1.1.6版本原生支持使用API Token向Artifactory私有仓库发布包,你遇到的提示输入密码问题,是因为http-basic配置需要同时传入用户名、密码两个参数,仅传Token值不符合配置要求。
具体配置步骤
- 第一步:修正认证配置
Artifactory的API Token认证场景下,固定使用__token__作为用户名,你的实际Token作为密码,执行以下命令完成全局配置:
poetry config http-basic.myrepo __token__ <你的实际API Token>
如果需要将配置保存在当前项目目录下(避免全局泄露Token),可以添加--local参数:
poetry config --local http-basic.myrepo __token__ <你的实际API Token>
CI/CD场景推荐使用环境变量配置,无需持久化存储Token:
export POETRY_HTTP_BASIC_MYREPO_USERNAME=__token__ export POETRY_HTTP_BASIC_MYREPO_PASSWORD=<你的实际API Token>
- 第二步:验证配置有效性
执行发布测试命令,确认不会再提示输入密码:
poetry publish --repository myrepo --dry-run
如果测试返回404错误,可以尝试调整仓库地址为Artifactory的上传端点(去掉末尾的/simple):
poetry config repositories.myrepo https://my-internal-artifactory/api/pypi/python
- 第三步:正式发布
验证通过后执行正式发布命令即可:
poetry publish --repository myrepo # 若需要同时构建wheel和sdist包,可以加build参数: poetry publish --repository myrepo --build
内容的提问来源于stack exchange,提问作者DineshKumar
相关产品推荐
相关产品推荐

