跳至内容

依赖来源

新增于 0.2.0

通常 Rye 只从 PyPI 加载包。但是,可以指示它从其他索引加载包。

添加来源

可以将索引添加到项目或工作区(通过 pyproject.toml)或添加到 全局配置 中。Rye 将始终同时查询这两个文件,其中 pyproject.toml 文件优先于全局配置。

每个来源都需要有一个唯一的名称。默认来源始终被称为 default,并且默认指向 PyPI。

将此添加到 ~/.rye/config.toml

[[sources]]
name = "company-internal"
url = "https://company.internal/simple/"

将此添加到 pyproject.toml

[[tool.rye.sources]]
name = "company-internal"
url = "https://company.internal/simple/"

更改于 0.4.0

全局配置中的来源也用于工具安装。

索引类型

Rye 支持不同类型的来源,并且还允许覆盖 default PyPI 索引。如果为另一个来源指定 default 作为名称,则 PyPI 将不再用于解析。

[[sources]]
name = "company-internal"
url = "https://company.internal/simple/"
type = "index"  # this is implied
[[sources]]
name = "company-internal"
url = "https://company.internal/"
type = "find-links"
[[sources]]
name = "default"
url = "https://company.internal/simple/"

警告

请注意,默认索引不能是 find-links 类型。

来源类型

这两个来源类型(index vs find-links)由底层的 pip 基础设施决定

索引

这是一个 PEP 503 类型索引,由 PyPI 或 devpi 等工具提供。它对应于 pip 中的 --index-url--extra-index-url 参数。

注意:有关使用多个索引的更多信息,请参阅 uv 文档

这是一个可以是多种类型的来源,它必须指向一个文件路径或托管的 HTML 页面,该页面链接到包。它对应于 --find-links 参数。HTML 页面的格式是有一些未定义的,但通常所有指向 .tar.gz.whl 文件的 HTML 链接都会被考虑。

索引身份验证

HTTP 基本身份验证支持索引身份验证。它可以通过两种方式提供。usernamepassword 可以直接嵌入到配置中,也可以通过环境变量提供。

[[sources]]
name = "company-internal"
url = "https://company.internal/simple/"
username = "username"
password = "super secret"
[[sources]]
name = "company-internal"
url = "https://${INDEX_USERNAME}:${INDEX_PASSWORD}@company.internal/simple/"

SSL/TLS 验证

默认情况下,来源需要是 SSL/TLS 保护的。如果不是,rye 会拒绝使用该来源。可以通过将 verify-ssl 设置为 false 来覆盖此设置。

[[sources]]
name = "company-internal"
url = "http://company.internal/simple/"
verify-ssl = false