在这里插入图片描述


前言

对于Python新手而言,使用pip安装包就会成为一个问题,因为国内下载慢,甚至可能下载不成功,课程要安装库,但是连库都安装不成功,更别谈后续学习了。
如果在国内下载 pip 包的速度很慢或者失败,可以尝试以下方法:

  1. 更换 pip 镜像源:使用国内的镜像源可以加速下载速度。可以尝试使用以下命令修改 pip 镜像源:

    # 临时使用清华大学的镜像源
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
    
    # 永久修改镜像源
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    

    你也可以使用其他国内的镜像源,比如阿里云、华为云等。

  2. 使用代理:如果在国内无法直接访问外网,可以通过设置代理服务器来下载 pip 包。你可以在终端中设置环境变量来使用代理:

    # 设置 HTTP 代理
    export http_proxy=http://proxy_host:proxy_port
    
    # 设置 HTTPS 代理
    export https_proxy=https://proxy_host:proxy_port
    

    proxy_hostproxy_port 替换成你的代理服务器的地址和端口。

  3. 下载离线安装包:如果以上方法仍然无法解决下载问题,可以尝试下载离线安装包(.whl 文件)或者源码包(.tar.gz 文件),然后通过本地安装的方式进行安装。可以在 PyPI(https://pypi.org/)网站上搜索所需的包,并选择适合自己环境的安装包进行下载。

    # 安装离线安装包
    pip install 包名.whl
    
    # 安装源码包
    pip install 包名.tar.gz
    

这里主要是换源操作,使用代理的方式后面再看。
别人换源都是直接发换源的命令,但是实际上最近这些国内镜像不知道搞什么幺蛾子了,换源以后就提示httpsXXX,SSLXXX之类的报错,就很离谱,为了根本解决这个问题,以及教会你如何找到官方的换源方式,你可以看看我是如何操作的,授之以渔不如授之以渔。


一、换源的基本命令是什么?

pip换源的基本命令是:

  1. 使用国内源:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  2. 使用官方源:pip config set global.index-url https://pypi.org/simple

pip有以下国内的镜像源可选择:

  1. 阿里云镜像源:https://mirrors.aliyun.com/pypi/simple/
  2. 清华大学镜像源:https://pypi.tuna.tsinghua.edu.cn/simple
  3. 豆瓣镜像源:https://pypi.douban.com/simple/

可以通过以下命令切换镜像源:

pip install -i https://mirrors.aliyun.com/pypi/simple/ 包名

或者在配置文件pip.ini或pip.conf中修改镜像源:

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/

二、如何从官方来换源

以阿里云源为例,首先打开阿里云源的官网

https://mirrors.aliyun.com/
在这里插入图片描述
你会发现阿里云源支持多种语言、软件、操作系统的镜像,由于我们这里是python,而python的源是pypi,所以找到pypi点进去。
在这里插入图片描述
进入以后你就能看到阿里云官方是建议如何换源
在这里插入图片描述

那些重复的内容是没有意义的,你看到这里就知道是如何换源了,我也没有必要再给你复制一遍阿里云的内容。

至于我为什么会选择阿里云,你在这个页面往下翻就会发现,阿里云对某些恶意的包进行了处理。
在这里插入图片描述

有了阿里云,就不会迷迷糊糊,莫名其妙的踩坑。可以看到自从阿里云上次被Java背刺以后对于安全真的是谨慎了很多。


总结

其实这种方式不仅仅限于Python的换源,只要是有换源的地方或者说这个镜像源支持的软件或者系统都可以这么换源,官方是提供了换源的步骤的,跟着步骤来,你就可以完全的解决国内下载慢,安装失败这些问题,无论是操作系统更新还是安装软件包。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐