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。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐