You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bazel构建中为pip指定--trusted-host参数

解决Bazel构建时PyPI SSL证书验证失败问题

方法一:在WORKSPACE中配置extra_pip_args传递信任主机参数

找到WORKSPACE里负责安装Python依赖的pip_install或pip_repository规则,添加extra_pip_args参数,把需要的--trusted-host参数以列表形式传入即可。

示例配置(pip_install场景)

pip_install(
    requirements = ":requirements.txt",
    extra_pip_args = [
        "--trusted-host=pypi.org",
        "--trusted-host=files.pythonhosted.org",  # 配套添加,因为PyPI包文件托管在此
    ],
)

示例配置(pip_repository场景)

如果项目用分阶段依赖管理,语法类似:

pip_repository(
    name = "pypi_deps",
    requirements = ":requirements.txt",
    extra_pip_args = [
        "--trusted-host=pypi.org",
        "--trusted-host=files.pythonhosted.org",
    ],
)

每个--trusted-host单独作为列表元素,Bazel会自动处理参数传递,不需要额外转义。

方法二:临时通过环境变量跳过验证(仅调试用)

如果只是临时调试,可以在执行Bazel命令前设置环境变量:

# Windows命令提示符
set PIP_TRUSTED_HOST=pypi.org;files.pythonhosted.org
bazel build //...
# Windows PowerShell
$env:PIP_TRUSTED_HOST="pypi.org;files.pythonhosted.org"
bazel build //...

注意:这种方式会全局跳过对应主机的SSL验证,不建议生产环境使用。

方法三:导入企业根证书(生产环境推荐)

如果是企业内网自签名证书导致的问题,更安全的做法是把根证书加入Bazel使用的Python证书信任库:

  1. 从日志里找到Bazel使用的Python路径(比如C:/users/<username>/bazel<username>/tiijebj4/external/python_x86_64-pc-windows-msvc/python.exe)
  2. 定位该Python下的证书文件:通常在Lib\site-packages\certifi\cacert.pem,或者Python安装目录的DLLs\certifi.pem
  3. 将你的企业根证书内容追加到这个文件末尾

这样既能解决验证问题,又保留了安全的证书校验机制。

内容的提问来源于stack exchange,提问作者Kirill D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 10:37:28