
本文介绍了如何在使用 Poetry 从私有仓库(例如 Packagecloud)安装 Python 包时,安全地管理 Token。避免将 Token 直接暴露在 pyproject.toml 文件中,提供了通过环境变量和 Poetry 配置两种方式来安全地进行身份验证,确保项目的安全性和可维护性。
在使用 Poetry 管理 Python 项目依赖时,有时需要从私有仓库安装包。如果私有仓库需要身份验证,直接将 Token 写入 pyproject.toml 文件存在安全风险。本文将介绍两种安全地配置 Poetry,使其能够从需要 Token 验证的私有仓库安装包的方法。
方法一:使用环境变量
Poetry 支持通过环境变量传递 HTTP Basic Authentication 的用户名和密码。对于 Token 验证的私有仓库,可以将 Token 作为用户名,密码留空。
具体来说,需要设置以下环境变量:
POETRY_HTTP_BASIC_{SOURCE_NAME}_USERNAME:用户名,设置为你的 Token。POETRY_HTTP_BASIC_{SOURCE_NAME}_PASSWORD:密码,可以省略,因为我们使用 Token 验证。
其中,{SOURCE_NAME} 是你在 pyproject.toml 中定义的私有仓库的名字。例如,如果你的 pyproject.toml 中有如下配置:
[[tool.poetry.source]]name = "internal-package"url = "https://{**some-token**}:@packagecloud.io/{some-domain}"priority = "supplemental"
那么 SOURCE_NAME 就是 INTERNAL_PACKAGE。
临时设置环境变量:
可以在执行 poetry install 命令时临时设置环境变量:
POETRY_HTTP_BASIC_INTERNAL_PACKAGE_USERNAME="{**some-token**}" poetry install
永久设置环境变量:
为了避免每次都手动设置环境变量,可以将它们添加到 shell 的配置文件中(例如 .zshrc 或 .bashrc):
export POETRY_HTTP_BASIC_INTERNAL_PACKAGE_USERNAME="{**some-token**}"
添加后,需要重新加载配置文件(例如 source ~/.zshrc)或者重启终端,使环境变量生效。
方法二:使用 Poetry 配置
Poetry 允许将 Token 保存到配置文件中,该配置文件通常位于 ~/Library/Application Support/pypoetry/auth.toml (macOS) 或 ~/.config/pypoetry/auth.toml (Linux/Windows)。
可以使用以下命令来设置 Token:
poetry config -- http-basic.internal-package "{**some-token**}" ""
注意:最后一个参数是 “”,表示密码为空。internal-package 需要替换为你定义的私有仓库的名字。
总结
这两种方法都避免了将 Token 直接写入 pyproject.toml 文件,提高了安全性。使用环境变量的方式更加灵活,可以针对不同的环境设置不同的 Token。使用 Poetry 配置的方式更加方便,Token 会被持久化保存。
注意事项:
无论使用哪种方法,都要妥善保管你的 Token,避免泄露。定期更新 Token,以提高安全性。如果使用版本控制系统(例如 Git),不要将包含 Token 的配置文件提交到代码仓库。
选择哪种方法取决于你的具体需求和偏好。希望本文能够帮助你安全地使用 Poetry 从私有仓库安装包。
以上就是使用 Poetry 从私有仓库安装包并安全管理 Token的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1366560.html
微信扫一扫
支付宝扫一扫