一、pip安装Django

python版本3.7.0,pip install Django==3.0 时一直报以下错误,

image.png

1.看最后一行知道是网络超时
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files
.pythonhosted.org', port=443): Read timed out.

2.为什么会超时呢?这个问题请教了别人,需要追溯到域名访问,DNS解析过程,上大佬的图一张,终端每次解析域名的大致顺序:本地缓存 -> 本地DNS(hosts) -> 上级DNS server -> 上上级DNS server......,只要取到了就原路返回 并在每个节点做缓存
image.png
根据下图查看,通过DNSserver获取的ip在遥远的他国,这就是访问files.pythonhosted.org慢(超时)的根本原因,我们得想办法配置一个近点的ip地址提升访问速度,于是找国内的ip配置到windows的hosts中试下
image.png

3.Windows下修改hosts,根据以下链接修改(https://www.cnblogs.com/jerry...
image.png
4.修改完成后尝试链接并ping下ip
telnet files.pythonhosted.org 443
连接成功
ping files.pythonhosted.org
image.png
数据传输还是有丢失

4.尝试再换一个ip,发现丢失为0,更换hosts中files.pythonhosted.org对应的ip,
image.png

5.pip install Django==3.0 安装成功
image.png


Delia
75 声望3 粉丝

路漫漫其修远兮,吾将上下而求索。


引用和评论

0 条评论