Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
使用 Poetry 安全地从私有仓库安装包:Token 认证实践_创想鸟

使用 Poetry 安全地从私有仓库安装包:Token 认证实践

使用 poetry 安全地从私有仓库安装包:token 认证实践

本文档介绍了如何在使用 Poetry 管理 Python 项目时,安全地从需要 token 认证的私有仓库安装软件包。重点讲解了两种推荐的配置方法:利用 POETRY_HTTP_BASIC_* 环境变量以及使用 poetry config 命令设置 token。避免将敏感信息直接写入 pyproject.toml 文件,保障项目安全。

在使用 Poetry 管理 Python 项目时,从私有仓库安装包是常见的需求。然而,直接将 token 写入 pyproject.toml 文件存在安全风险。以下介绍两种更安全的配置方法,避免暴露敏感信息。

方法一:使用 POETRY_HTTP_BASIC_* 环境变量

Poetry 支持通过环境变量传递认证信息,利用 POETRY_HTTP_BASIC_* 环境变量可以安全地配置 token。

具体来说,需要设置以下环境变量:

POETRY_HTTP_BASIC_{SOURCE_NAME}_USERNAME: 用于指定用户名,在此场景下,应设置为你的 token。POETRY_HTTP_BASIC_{SOURCE_NAME}_PASSWORD: 用于指定密码,由于使用的是 token 认证,可以省略此变量。

其中,{SOURCE_NAME} 需要替换为你在 pyproject.toml 中定义的仓库名称。例如,如果你的 pyproject.toml 文件中定义了名为 internal-package 的仓库,如下所示:

[[tool.poetry.source]]name = "internal-package"url = "https://packagecloud.io/{some-domain}"priority = "supplemental"

那么,你需要设置的环境变量就是 POETRY_HTTP_BASIC_INTERNAL_PACKAGE_USERNAME。

示例:

假设你的 token 是 your_secret_token,你可以通过以下命令来安装包:

POETRY_HTTP_BASIC_INTERNAL_PACKAGE_USERNAME="your_secret_token" poetry install

持久化配置:

为了避免每次都手动设置环境变量,可以将以下代码添加到你的 shell 配置文件(例如 .zshrc 或 .bashrc):

export POETRY_HTTP_BASIC_INTERNAL_PACKAGE_USERNAME="your_secret_token"

这样,每次打开新的终端窗口,token 都会自动生效。请注意替换 your_secret_token 为你的实际 token。

方法二:使用 poetry config 命令

Poetry 允许将 token 保存到配置文件中(通常位于 ~/Library/Application Support/pypoetry/auth.toml,对于 macOS)。

可以使用以下命令来设置 token:

poetry config -- http-basic.internal-package "your_secret_token" ""

注意:

internal-package 需要替换为你在 pyproject.toml 中定义的仓库名称。最后一个参数 “” 表示空密码。

安全性考虑:

虽然这种方法避免了将 token 写入 pyproject.toml 文件,但仍然将 token 存储在本地配置文件中。因此,需要确保你的本地环境安全,避免泄露配置文件。

总结

以上两种方法都比直接将 token 写入 pyproject.toml 文件更安全。推荐优先使用 POETRY_HTTP_BASIC_* 环境变量,因为它避免了将 token 存储在任何文件中。如果需要持久化配置,可以使用 shell 配置文件,但需要注意保护 shell 配置文件的安全性。使用 poetry config 命令也是一种可行的选择,但需要注意本地环境的安全。在选择方法时,请根据你的实际需求和安全考虑进行权衡。

以上就是使用 Poetry 安全地从私有仓库安装包:Token 认证实践的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1366558.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
输出格式要求:Python 如何判断路径是否为相对符号链接
上一篇 2025年12月14日 06:13:57
使用 Poetry 从私有仓库安装包并安全管理 Token
下一篇 2025年12月14日 06:14:04

相关推荐

发表回复

登录后才能评论
关注微信