高效工作:添加多个pip源
1. 背景描述
当前pypi源存在以下的三点现状:
- pypi.org国内访问不稳定
- 阿里源、清华源和豆瓣源的python包更新存在差异,导致实际工作场景中需要在不同pip源之间进行切换
- 当前公司存在自己的私有源
之前的做法习惯于在各个源之间进行切换,或者通过-i指令临时添加pypi源。事实上可以在pip.conf文件中同时配置多个源,这样pip install的时候可以依次尝试各个源,直至寻找到可以成功安装python包的源,显然这样做解放了程序员的双手和大脑,更加优雅。
2. 同时使用多个pip源
vim ~/.pip/pip.conf # 如果没有该文件,需要自己手动新建
# 修改内容为
[global]
index-url=http://pypi.douban.com/simple
extra-index-url=http://mirrors.aliyun.com/pypi/simple/
https://pypi.tuna.tsinghua.edu.cn/simple/
http://pypi.mirrors.ustc.edu.cn/simple/
https://download.pytorch.org/whl/cu113
https://pypi.公司私有.net/simple
[install]
trusted-host=pypi.douban.com
mirrors.aliyun.com
pypi.tuna.tsinghua.edu.cn
pypi.mirrors.ustc.edu.cn
download.pytorch.org
pypi.公司私有.net
3. 总结
一劳永逸~
5. 后续
(2024年10月13日)在利用dockerfile构建fastertransformer镜像的时候,遇到了docker base镜像和apt get install获取软件的网络问题。诸如此类问题的解决方案的思想是一致的,(必定)有国内对应的镜像。具体的解决方案如下:
例如,原本我需要的base镜像是:
FROM nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04
替换为:
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04
apt-get国内源的配置方式见:
RUN sed -i s:/archive.ubuntu.com:/mirrors.tuna.tsinghua.edu.cn/ubuntu:g /etc/apt/sources.list
另注:上述dockerfile的具体撰写方式,无需记忆。目前看来chatgpt根据用户的描述撰写dockerfile的准确率很高。如果不幸的发现某一个东西,很难获取到,又没有国内的源,那么可能这就是一个商机了。类比百度之于google;Bilibili之于youtube。