关于 pip 的网络问题

| Views: | Total Words: 1.6k | Reading Time: 1 mins.

今天被实验室的代码 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 变了都要手动改也挺麻烦的,可以改成下面这样

1
2
3
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. 我真是个啥比.

Author: SiriusNEO

Published on: Metric Space

All posts on this blog are licensed under the CC BY-NC-SA 4.0 license unless otherwise noted.