跳到内容

Git 凭据

uv 允许通过 SSH 或 HTTP 身份验证从私有 Git 仓库安装包。

SSH 身份验证

要使用 SSH 密钥进行身份验证,请使用 ssh:// 协议

SSH 身份验证要求使用用户名 git

有关如何配置 SSH 的更多详细信息,请参阅 GitHub SSH 文档

HTTP 身份验证

若要使用密码或令牌通过 HTTP 基本身份验证进行验证

  • git+https://<user>:<token>@<hostname>/...(例如:git+https://git:[email protected]/astral-sh/uv
  • git+https://<token>@<hostname>/...(例如:git+https://[email protected]/astral-sh/uv
  • git+https://<user>@<hostname>/...(例如:git+https://[email protected]/astral-sh/uv

注意

使用 GitHub 个人访问令牌时,用户名可以是任意值。GitHub 不允许在 URL 中像这样使用您的账户名和密码,尽管其他主机可能允许。

如果 URL 中没有凭据且需要身份验证,则会查询 Git 凭据助手

凭据持久化

当使用 uv add 时,uv 不会将 Git 凭据持久化到 pyproject.tomluv.lock 中。这些文件通常包含在源代码管理和分发包中,因此在其中包含凭据通常是不安全的。

如果您配置了 Git 凭据助手,您的凭据可能会自动持久化,从而使后续对依赖项的获取能够成功。但是,如果您没有配置 Git 凭据助手,或者项目是在未预置凭据的机器上使用,则 uv 将无法获取该依赖项。

可以通过向 uv add 传递 --raw 选项来强制 uv 持久化 Git 凭据。但是,我们强烈建议改用配置凭据助手

Git 凭据助手

Git 凭据助手用于存储和检索 Git 凭据。请参阅 Git 文档以了解更多信息。

如果您使用的是 GitHub,设置凭据助手最简单的方法是安装 gh CLI 并使用

$ gh auth login

有关更多详细信息,请参阅 gh auth login 文档。

注意

以交互方式使用 gh auth login 时,凭据助手会自动配置。但当使用 gh auth login --with-token 时(如 uv GitHub Actions 指南中所示),则需要随后运行 gh auth setup-git 命令来配置凭据助手。