关于 pip 的网络问题


今天被实验室的代码 format 问题搞的有点头大,一顿查发现好像是 black 包的版本太旧了,于是打算用 pip 更新一下 black. 然后由于太久没管 wsl 这边的 python 环境了(配环境第X定律: 太久没管的环境必然会挂),因此毫不意外地挂飞了.

具体表现是不管换什么源,还是走官方,都是一堆网络错误,Retrying.

我狂暴搜索了一堆解决方案,最后发现可能是我 wsl 终端代理设置的有点问题. 查了一下之后,发现之前设好的 ALL_PROXIES 里的 <the ip of windows> 变了. 我想了想,靠,我从学校放假回家了啊,当然变了!(这里涉及到 WSL 终端代理设置的一个很鬼畜的地方,就是由于 WSL 本身其实是一个 Hyper-V,所以这里必须填 Windows 的 ip,也就是 <the ip of windows>:7890 而不是 127.0.0.1:7890

这时我突然回想起来最近回家后 githttp/https 也都是挂的,突然想到会不会和这个事情有关,一试果然. 真是造孽啊!

当然每次 IP 变了都要手动改也挺麻烦的,可以改成下面这样

win_host_ip=(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export http_proxy="http://win_host_ip:7890"
export https_proxy="https://$win_host_ip:7890"

省心省事. 当然记得把 proxy 软件那边的 Allow LAN 打开.

这件事告诉我们:1. 不要怕折腾. 折腾之后可能会把以前的一些未解之谜也解决了. 2. 我真是个啥比.

声明:没有风会经过的旅店|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 关于 pip 的网络问题


如飞蛾之赴火,岂焚身之可吝。