从终端安装 python 包开始失败,无法建立新连接:[Errno -3] 名称解析暂时失败

Installation of python packages from terminal started to fail, Failed to establish a new connection: [Errno -3] Temporary failure in name resolution

我好几天没能解决这个问题,所以如果你能给我任何建议,我将不胜感激!

当我尝试从 python 安装任何软件包时,我收到此消息(在这种情况下,让我们以 flask 为例):

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/ Could not find a version that satisfies the requirement Flask (from versions: ) No matching distribution found for Flask "

我不太明白是什么原因造成的,因为之前一切正常,我能够安装软件包。而且,我没有在两者之间安装任何新东西。另外,我真的是 python 编程的初学者,我不完全理解消息的确切含义。我肯定有互联网连接并且我已经安装了例如Flask 以前也用过。在一切都得到堆栈之前发生的唯一一件事是我的互联网提供商有 "rebooted" 我的互联网连接(我不确定 "reboot" 是正确的终点站)。

我正在为 Linux、Visual studio 代码和 python 版本使用 Windows 子系统:Python 3.6.8(默认,2019 年 10 月 7 日, 12:59:55) [GCC 8.3.0] Linux.

我通过添加解决了这个问题: 名称服务器 8.8.8.8 名称服务器 8.8.4.4 到文件:
/etc/resolv.conf (通过 $sudo nano /etc/resolv.conf 并保存) 但我仍然不完全理解为什么它有效?问题出在哪里?

这听起来像是 DNS 问题。 Pip 将尝试解析 https://pypi.org。但最终必须解析为 IP 地址。

大多数 ISP 默认提供 DNS 服务。可能无法解决?

当您添加 nameserver 8.8.8.8 时,您使用的是 Google DNS 服务器,它似乎通过解析 https://pypi.org