已解决:WARNING: The repository located at mirrors.aliyun.com is not a trusted or secure host and is bei

已解决:WARNING: The repository located at mirrors.aliyun.com is not a trusted or secure host and is being ignored

写在前面

在使用 pip 安装 Python 包时,部分用户会选择国内的镜像源来加速下载速度,如阿里云的 mirrors.aliyun.com。然而,有时会出现如下警告:

WARNING: The repository located at mirrors.aliyun.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '-trusted-host mirrors.aliyun.com".

这个警告表明,pip 不信任 mirrors.aliyun.com,并且由于使用的是 HTTP 而非 HTTPS,可能存在安全隐患。虽然这不会中断包的安装,但提醒用户存在潜在风险。为了确保系统安全,建议使用 HTTPS 链接,或者根据实际需求通过信任设置来忽略该警告。

在这里插入图片描述

问题描述

报错代码行:

WARNING: The repository located at mirrors.aliyun.com is not a trusted or secure host and is being ignored.

当你使用 pip install 命令并指定 mirrors.aliyun.com 作为镜像源时,pip 可能会提示该源不是受信任的,并警告你该主机通过 HTTP 进行访问,存在安全风险。具体错误原因如下:

报错原因分析

  1. 未使用 HTTPS

    • 阿里云镜像源可能使用了不安全的 HTTP 协议,而 pip 强烈推荐使用安全的 HTTPS 协议来确保数据传输的加密和安全性。
  2. 未将主机设置为受信任

    • pip 通过严格的安全检查机制确保从受信任的源获取包。在未明确标记 mirrors.aliyun.com 为受信任主机的情况下,pip 会发出警告,阻止包的安装。
  3. 默认安全策略

    • pip 默认要求访问的仓库使用 HTTPS 协议,所有不安全的 HTTP 请求会被标记为不可信来源,特别是在一些严格的安全环境中。

解决思路

  1. 切换到 HTTPS 链接

    • 如果阿里云提供了 HTTPS 协议支持,首选方案是更换为 HTTPS 链接,这样可以避免安全警告,同时保证传输安全。
  2. mirrors.aliyun.com 添加为受信任主机

    • 如果无法使用 HTTPS,且你信任这个镜像源,可以将 mirrors.aliyun.com 添加为受信任的主机,从而避免 pip 的安全检查。
  3. 考虑使用官方源或其他国内 HTTPS 镜像

    • 如果安全是第一要务,可以选择官方源 https://pypi.org/simple,或者使用其他国内支持 HTTPS 的镜像源。

解决办法

1. 切换到 HTTPS 链接

如果阿里云已经支持 HTTPS 协议,可以通过以下方式切换到 HTTPS 源,从而避免该警告。你可以在安装包时指定 HTTPS 地址:

pip install <package-name> -i https://mirrors.aliyun.com/pypi/simple/

这样可以避免 HTTP 协议带来的安全风险,并且不会再出现不受信任主机的警告。

2. 将阿里云镜像源添加为受信任主机

如果必须使用 HTTP 源且你信任该镜像源,可以使用 pip--trusted-host 选项,允许 pip 跳过安全检查:

pip install <package-name> -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

这样,pip 会信任该镜像源并忽略安全警告。你也可以在 pip 的配置文件中永久设置此选项。编辑 pip 的配置文件(位于 ~/.pip/pip.confC:\Users\<username>\pip\pip.ini),并添加以下内容:

[global]
trusted-host = mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple/

这样每次使用 pip 时都不再需要手动添加 --trusted-host 选项。

3. 使用其他国内 HTTPS 镜像源

如果你希望使用 HTTPS 且国内访问速度较快,可以考虑其他国内镜像源,如清华大学的 PyPI 镜像。它支持 HTTPS,且在国内的访问速度较快:

pip install <package-name> -i https://pypi.tuna.tsinghua.edu.cn/simple

也可以将该镜像源设为默认源,通过修改 pip.conf 文件:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

4. 使用官方 PyPI 镜像源

如果对安全性有较高要求,且可以容忍稍慢的下载速度,建议直接使用官方的 PyPI 源:

pip install <package-name> -i https://pypi.org/simple

5. 检查阿里云源的 HTTPS 支持情况

可以通过浏览器访问以下链接来确认阿里云镜像是否支持 HTTPS:

https://mirrors.aliyun.com/pypi/simple/

如果链接可正常打开,说明阿里云支持 HTTPS,之后可以通过切换到 HTTPS 来避免该警告。

总结

WARNING: The repository located at mirrors.aliyun.com is not a trusted or secure host 的警告是因为 pip 检测到使用了不安全的 HTTP 协议或该主机未被标记为受信任的来源。为了解决这个问题,可以通过以下方式:

  1. 优先使用 HTTPS 协议,保证数据传输安全。
  2. 在信任镜像源的前提下,通过 --trusted-host 标记阿里云为受信任的主机。
  3. 选择其他支持 HTTPS 的国内镜像源,确保安全性和速度的平衡。

通过采取这些措施,开发者可以在使用国内镜像源时避免安全警告,并确保 pip 安装操作的顺利进行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几何心凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值