uv如何配置阿里云源在 pyproject.toml 中 或在 uv.toml 中
在 uv 中配置阿里云源,既可以在 uv.toml(全局/项目级配置)中设置,也可以在 pyproject.toml(项目级配置)中设置,但两者的生效范围和优先级不同,具体区别如下:
1. 全局/项目级配置:uv.toml
uv.toml 是 uv 的专用配置文件,可用于全局生效或仅当前项目生效,是配置源的推荐方式。
- 生效范围:
- 若放在
~/.config/uv/uv.toml(Linux/macOS)或C:\Users\<用户名>\.config\uv\uv.toml(Windows),则对所有使用 uv 的项目全局生效。 - 若放在某个项目的根目录下(与
pyproject.toml同级),则仅对当前项目生效,优先级高于全局uv.toml。
- 若放在
- 配置格式:
[registry] # 直接指定阿里云 PyPI 镜像地址 index = "https://mirrors.aliyun.com/pypi/simple/"
2. 项目级配置:pyproject.toml
pyproject.toml 是 Python 项目的标准配置文件(用于管理项目元信息、依赖等),uv 支持在此文件中通过 [tool.uv.registry] 节点配置源,仅对当前项目生效。
- 生效范围:仅作用于当前
pyproject.toml所在的项目,不会影响其他项目。 - 配置格式:
# 先确保有 [project] 节点(项目元信息,uv init 会自动生成) [project] name = "你的项目名" version = "0.1.0" dependencies = [] # 项目依赖,可通过 uv add 自动管理# 添加 uv 源配置 [tool.uv.registry] index = "https://mirrors.aliyun.com/pypi/simple/"
核心区别与选择建议
| 配置文件 | 生效范围 | 优先级 | 适用场景 |
|---|---|---|---|
uv.toml(全局) | 所有项目 | 最低 | 希望所有项目统一用阿里云源 |
uv.toml(项目级) | 当前项目 | 高于全局 | 仅当前项目用阿里云源,其他项目用默认源 |
pyproject.toml | 当前项目 | 最高 | 项目需和团队共享源配置(提交到Git) |
- 若仅个人使用且所有项目需统一源,优先配置全局
uv.toml。 - 若项目需和他人协作(需同步源配置),优先在项目根目录的
pyproject.toml中配置(可随代码提交到版本控制工具)。
要不要我帮你生成一份 pyproject.toml 和项目级 uv.toml 的完整配置模板?直接复制到项目根目录即可使用,无需手动修改复杂节点。
