在国内,有许多厂商的 PyPi 镜像,或许是为了监管,他们均选择了定时拉取同步的设计。这就会经常出现很多新的库/版本没有同步到的问题,并且有时候速度并不是很理想(毕竟那么多人在用)。
用自己处于大陆外的闲置服务器带宽搭建一个反向代理 PyPi 不仅能做到高实时性,还能通过正常的网站来掩盖某些特殊流量。
搭建镜像
使用 PyPi-mirror 这个仓库来搭建。执行 docker run --restart=always --name=pypi-mirror -p "127.0.0.1:5555:80" -d abersheeran/pypi-mirror
就可以一键启动镜像网站到服务器的 5555 端口了。再加一个前置代理,配置 TLS 证书即可。如果没有配置,强制走 HTTPS 的下载就用不了这个镜像了。
使用镜像
临时使用
pip install -i https://你的域名/simple some-package
注意,simple 不能少。
设为默认
pip
版本要 >=10.0.0 才能使用如下命令进行配置
pip config set global.index-url https://你的域名/simple
如果命令执行失败,那么使用如下命令升级 pip
后再使用
python -m pip install -U -i https://你的域名/simple pip