前言

Windows 10/11系统上使用Anaconda进行Python开发时,condapip 是大家常用的包管理工具。不过,由于国内网络环境的问题,下载包的速度常常很慢,甚至会遇到超时等问题。这时候换源就可以帮你大大加快包的下载速度。接下来,我会简单介绍一下 condapip 的区别,并详细讲解如何在Windows 10/11系统中查看和更换它们的源,让你的包安装过程更加顺畅。


一、Conda和Pip的区别简要介绍

1. Conda

  • Conda 是一个通用的包管理和环境管理工具,支持安装和管理多种语言的包(如Python、R等),不仅限于Python生态。同时,Conda还支持完整的环境管理,能够帮助用户方便地创建、激活、删除不同的虚拟环境。

2. Pip

  • Pip 是Python的官方包管理工具,专用于安装和管理Python包。它从Python Package Index (PyPI) 下载和安装Python库。Pip虽然不能管理环境,但与virtualenv搭配使用,可以实现环境的隔离。

二、为何要换源?

在国内使用 condapip 下载和安装包时,由于网络限制,从默认的国外服务器获取包通常速度非常慢,甚至可能出现超时的情况。为了解决这个问题,我们可以将 condapip 的源切换为国内的镜像源,例如清华大学的镜像源或阿里云源,这样可以大大提高包下载的速度。

常见的国内镜像源有:


三、如何查看和更换 Conda 的源

1. 查看当前 Conda 的源

conda 中,你可以使用以下命令查看当前配置的所有源(channels):

conda config --show channels
  • 执行此命令后,系统会显示当前已经配置的源地址。这些源就是 conda 从中获取包的渠道。默认情况下,conda 使用的是 Anaconda 官方提供的国际源,即 defaults 源。
    在这里插入图片描述
  • 如果你看到有其他非默认的源列出,说明你的 conda 已经配置了额外的镜像源。

2. 更换Conda的源为国内镜像(建议)

为了加速包的下载和安装,我们可以将 conda 的默认源替换为国内的镜像源,常用的清华大学镜像源就是一个很好的选择。

清华大学镜像源设置步骤:
  1. 打开Anaconda Prompt
  2. 执行以下命令,将清华大学的镜像源添加到 conda 的配置中:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes

3. 确认配置成功

完成上述步骤后,你可以再次运行以下命令确认是否已经成功配置了新的源:

conda config --show channels
  • 输出应该包含刚刚添加的清华大学镜像源:

在这里插入图片描述

4. 更新Conda和安装包(可选)

在设置好镜像源后,你可以像往常一样使用conda来更新Conda或安装Python包:

conda update conda

或安装指定的包:

conda install <包名>  # 这时Conda会从国内源获取包,下载速度将显著提升

5. 删除镜像源

如果你想删除某个自定义的镜像源(比如要恢复到默认的 defaults 源),可以使用 conda config --remove 命令。这个命令可以让你精确地移除某个源,而不会影响其他已经添加的源。

使用方法:
conda config --remove channels <镜像源地址>

例如,如果你要删除清华大学的镜像源,可以这样操作:

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

这个命令会从 conda 的配置中移除指定的镜像源。移除之后,conda 将不再从该源下载包。

删除多个源:

如果你想一次删除多个源,需要分别执行删除命令。例如,移除清华大学的 pkgs/mainpkgs/free 源,可以按顺序执行:

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
恢复默认源:

如果你想删除所有自定义的镜像源并恢复到默认的 defaults 源,可以使用以下命令,清除所有自定义的渠道设置:

conda config --remove-key channels

这会将 conda 的源配置重置为默认值,只保留 defaults 源。


四、如何查看和更换 Pip 的源

1. 查看当前Pip的源

pip的默认源是PyPI,官方的Python包索引。你可以通过以下命令查看 pip 的当前源是否是PyPI:

pip config list

在输出中,你可以查看到 index-url,默认情况下是 https://pypi.org/simple(不显示),这是官方PyPI的地址。

2. 更换Pip的源为国内镜像

  • conda类似,pip也可以将包下载源更换为国内的镜像源,例如清华大学的镜像源。
  • 我们可以通过两种方式来切换:临时切换永久切换
临时切换源 (推荐)

如果你只想临时使用国内镜像源来安装某个包,可以在安装命令中指定源地址:

pip install <包名> -i https://pypi.tuna.tsinghua.edu.cn/simple
永久切换源 (不建议)

为了方便长期使用,可以将pip的源配置为国内镜像。以下是设置永久换源的方法:

1. 查看当前 pip 配置

你可以通过以下命令查看当前的 pip 配置:

pip config list
  • pip 默认使用官方的 PyPI 源,地址是 https://pypi.org/simple
  • 如果这是你的第一次查看配置,正常情况下不会显示 index-url,因为默认源不会显式列出。
2. 设置 pip 源为清华大学的镜像源

Anaconda Prompt 中运行以下命令:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

这个命令将 pip 的默认源设置为清华大学的 PyPI 镜像源。设置后,所有通过 pip 安装的包将从这个镜像源下载,下载速度会更快。

在这里插入图片描述

如图表示 pip 已经使用了清华大学的镜像源。

3. 恢复 pip 源为默认的官方 PyPI 源

如果你以后想将 pip 的源恢复为官方的 PyPI 源,可以使用以下命令:

pip config unset global.index-url

这个命令会删除你之前设置的自定义源,pip 将恢复为默认的 PyPI 源 https://pypi.org/simple

4. 设置受信任的主机(可选)

有时候安装某些包时,你可能会遇到 SSL 证书验证问题,导致 pip 拒绝连接自定义的镜像源。为了解决这个问题,pip 允许你将某些镜像源设为“受信任的主机”,这样就不会再遇到 SSL 相关的错误。

例如,如果你使用清华大学的镜像源,可以通过以下命令将清华源设置为受信任的主机:

pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn

这个命令告诉 pip 信任清华大学的 PyPI 镜像源 (pypi.tuna.tsinghua.edu.cn),从而避免 SSL 证书验证的相关问题。如果你使用其他国内源,也需要根据对应的域名设置为受信任的主机。

在这里插入图片描述


五、总结

  • 换源的必要性:在国内,换源是加速Conda和Pip下载和安装包的有效方法,特别是对于大文件包或复杂环境来说,使用清华等国内镜像能显著减少下载等待时间。
  • Conda换源:通过conda config命令可以轻松查看、添加或删除源。国内常用的清华镜像源可以有效提升下载速度。
  • Pip换源:Pip支持临时和永久换源,推荐使用清华大学的镜像作为加速下载的默认源。

Logo

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

更多推荐