envoy
我目前正在尝试在无法访问 PyPi 的机器上进行自定义构建。我公司的安全团队要求我们使用具有不同 URL 的公司代理来访问 PyPi 存储库。
当我尝试运行时bazel build ...
,出现以下错误:
ERROR: An error occurred during the fetch of repository 'pypi__pip_tools':
Traceback (most recent call last):
File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/b4e0fd0e207e6fdf5e33997b6741cf2d/external/bazel_tools/tools/build_defs/repo/http.bzl", line 132, column 45, in _http_archive_impl
download_info = ctx.download_and_extract(
Error in download_and_extract: java.io.IOException: Error downloading [https://files.pythonhosted.org/packages/0d/dc/38f4ce065e92c66f058ea7a368a9c5de4e702272b479c0992059f7693941/pip_tools-7.4.1-py3-none-any.whl] to /home/ubuntu/.cache/bazel/_bazel_ubuntu/b4e0fd0e207e6fdf5e33997b6741cf2d/external/pypi__pip_tools/temp12252431299166532778/pip_tools-7.4.1-py3-none-any.whl.zip: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
在这种情况下,安全错误是一个干扰因素,因为我需要https://files.pythonhosted.org
用不同的域来替换。
对于命令行pip
,我必须执行以下操作:
python3 -m pip config set global.index-url <new_url_here>
在获取 Python 工具时,是否存在某种等效的方法强制bazel
使用不同的域?
请注意,我已经看到了这个问题,但它没有帮助,因为这个错误是在安装 pip 本身的过程中发生的,在进行任何pip_install
调用之前。
如果我正确理解了您的问题,您可能需要检查允许您操纵(bazel 的内置)下载程序行为的
--experimental_downloader_config
标志。例如下载器配置文件:
在您的示例中,哪个会尝试获取文件:
从
反而。