使用 uv 配置华为云镜像,最直接的方法是在初始化项目时通过 --index-url 参数指定源地址,或者在已存在的项目中修改 pyproject.toml 文件。执行 uv init --index-url https://repo.huaweicloud.com/repository/pypi/simple 即可创建指向该镜像的新项目;若需全局生效,可设置环境变量 uv_index_url。这样做能让 uv 优先从华为云拉取包,解决国内网络延迟或连接超时问题。

如何在初始化新项目时指定华为云镜像
在创建新项目的阶段,可以通过命令行参数直接覆盖默认的 PyPI 源。使用 uv init 命令并附加 --index-url 选项,将 URL 设置为华为云仓库地址,生成的 pyproject.toml 会自动包含该配置。这种方式适合从零开始搭建项目,确保后续安装依赖时默认使用该源。

uv init my_project --index-url https://repo.huaweicloud.com/repository/pypi/simple cd my_project uv add requests
运行上述代码后,my_project 目录下的 pyproject.toml 会生成如下内容:
[tool.uv.pypi] index-url = "https://repo.huaweicloud.com/repository/pypi/simple"接着执行
uv add requests,uv 会从华为云下载 requests 及其依赖,并在 uv.lock 中记录版本哈希。预期结果是项目成功初始化,且依赖安装速度显著优于默认源。
如何在全局环境中统一配置华为云镜像
如果希望所有使用 uv 的项目都默认使用华为云镜像,而不必在每个项目中重复配置,可以设置环境变量 UV_INDEX_URL。在 Linux 或 macOS 系统中,可以在 shell 配置文件(如 .bashrc 或 .zshrc)中添加导出语句;在 Windows 中,可通过系统设置或 PowerShell 进行配置。设置后,任何未显式指定 --index-url 的 uv 命令都会继承该全局源。
立即学习“Python免费学习笔记(深入)”;

# Linux/macOS 示例 export UV_INDEX_URL="https://repo.huaweicloud.com/repository/pypi/simple" # 验证配置 uv config list | grep index_url
执行 uv config list 会显示当前生效的配置项,确认 index_url 已更新为华为云地址。此时新建项目或添加包时,无需额外参数即可自动使用华为云镜像。若局部项目配置了不同的 index-url,局部配置优先级高于全局环境变量,确保灵活性。
当 pyproject.toml 中同时存在多个 index-url 时 uv 如何选择源
在 pyproject.toml 中,如果 [tool.uv.pypi] 部分定义了多个 index-url,uv 会按照声明顺序依次尝试,直到找到匹配的包为止。例如,若先配置华为云再配置官方 PyPI,uv 会优先从华为云查找;若华为云缺失某包,则回退到官方源。这种机制允许用户混合使用多个源,但需注意顺序对性能的影响。
[tool.uv.pypi]
index-url = [
"https://repo.huaweicloud.com/repository/pypi/simple",
"https://pypi.org/simple"
]上述配置中,uv 首先查询华为云,若包不存在则查询官方 PyPI。实际测试中,对于常见包如 numpy,华为云通常能迅速返回结果,减少等待时间。若华为云同步滞后,可能导致某些最新包无法立即获取,此时需手动调整顺序或临时切换源。建议在生产环境中保持单一稳定源,避免多源冲突导致的解析延迟。



















