已解决:WARNING: The repository located at mirrors.aliyun.com is not a trusted or secure host and is being ignored
文章目录
写在前面问题描述报错原因分析 解决思路解决办法1. 切换到 HTTPS 链接2. 将阿里云镜像源添加为受信任主机3. 使用其他国内 HTTPS 镜像源4. 使用官方 PyPI 镜像源5. 检查阿里云源的 HTTPS 支持情况 总结
写在前面
在使用 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 进行访问,存在安全风险。具体错误原因如下:
报错原因分析
未使用 HTTPS:
阿里云镜像源可能使用了不安全的 HTTP 协议,而pip
强烈推荐使用安全的 HTTPS 协议来确保数据传输的加密和安全性。 未将主机设置为受信任:
pip
通过严格的安全检查机制确保从受信任的源获取包。在未明确标记 mirrors.aliyun.com
为受信任主机的情况下,pip
会发出警告,阻止包的安装。 默认安全策略:
pip
默认要求访问的仓库使用 HTTPS 协议,所有不安全的 HTTP 请求会被标记为不可信来源,特别是在一些严格的安全环境中。 解决思路
切换到 HTTPS 链接:
如果阿里云提供了 HTTPS 协议支持,首选方案是更换为 HTTPS 链接,这样可以避免安全警告,同时保证传输安全。将 mirrors.aliyun.com
添加为受信任主机:
mirrors.aliyun.com
添加为受信任的主机,从而避免 pip
的安全检查。 考虑使用官方源或其他国内 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.conf
或 C:\Users\<username>\pip\pip.ini
),并添加以下内容:
[global]trusted-host = mirrors.aliyun.comindex-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 协议或该主机未被标记为受信任的来源。为了解决这个问题,可以通过以下方式:
--trusted-host
标记阿里云为受信任的主机。选择其他支持 HTTPS 的国内镜像源,确保安全性和速度的平衡。 通过采取这些措施,开发者可以在使用国内镜像源时避免安全警告,并确保 pip
安装操作的顺利进行。