conda与pip的镜像源与代理设置

一、前言

使用conda、pip命令行工具安装一些需要的工具包或函数库时,由于默认的镜像源连接速度很慢,影响开发效率,或者由于计算机处于局域网,必须通过规定的IP地址转接才能访问互联网,因此本文对windows系统下如何设置镜像源及代理进行介绍。
系统环境如下:
windows:win10专业版
conda:4.9.2
pip:24.0

二、conda镜像源设置

conda的镜像源可通过终端和配置文件进行设置,都是设置后永久生效

2.1conda默认镜像源介绍

conda默认的镜像源通常指 Anaconda 官方提供的软件包仓库地址,有三个,地址如下:

https://repo.anaconda.com/pkgs/main
https://repo.anaconda.com/pkgs/r
https://repo.anaconda.com/pkgs/msys2

main 频道:主要包含由Anaconda提供和维护的广泛使用的开源软件包。
r 频道:专门用于 R 语言及其相关工具和包。
msys2 频道:包含 Windows 上使用的工具和库。
如果未进行任何镜像源设置,那么conda将使用默认镜像源,按照顺序依次从上述地址查找软件包。

2.2通过终端设置镜像源

以管理员身份打开conda终端,然后以清华镜像源为例,输入以下命令添加镜像源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

注意使用命令添加的镜像源,类似于栈结构的后进先出,最后添加的优先级最高,即如果输入上述命令,那么main频道的优先级最高,conda将优先从main频道查找软件包。
清华镜像源的三个频道介绍如下:
main :是 Anaconda 的主要官方渠道,包含最新稳定版软件包,推荐使用。
free :是旧的官方免费渠道,包括了在 Anaconda 5.0 之前发布的所有软件包,已经停止更新,仅用于兼容性需求。
cloud/conda-forge: 是社区维护的渠道,提供了广泛的包集合和最新的软件版本,更新频繁。
与清华的conda-forge频道相对应,conda也有一个社区维护的频道,地址为:

https://conda.anaconda.org/conda-forge

添加镜像源后,可使用如下命令进行查看:

conda config --show channels

显示出的镜像源的从上到下排列顺序即为优先级顺序
想要移除某个镜像源,可使用如下命令:

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

如果想要移除添加的全部镜像源,可使用如下命令,移除后conda将使用默认源:

conda config --remove-key channels

2.3通过配置文件设置镜像源

conda配置文件名为.condarc,位于C:\Users\自己的用户名文件夹。以添加清华源为例,使用文本编辑器打开文件后,在文件中添加如下内容:

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  - defaults
show_channel_urls: true
report_errors: false

文件中在channels中定义了三个清华源和一个defaults,defaults代表默认源,当安装软件包时,conda会首先依次从三个清华源中查找,如果查找不到则会到默认源中查找。
show_channel_urls:用于控制 conda 是否在输出中显示包的下载 URL,这对于调试和了解包从哪个频道下载很有用。
report_errors:控制是否在 conda 出现错误时,将错误信息报告给 conda 开发团队。这有助于开发团队了解用户遇到的问题并改进 conda。

三、pip镜像源设置

pip的镜像源可通过终端和配置文件设置,但通过终端只能进行临时性设置,配置文件的设置为永久设置,这一点与conda有所不同。

3.1pip默认镜像源介绍

pip安装软件包时,默认的镜像源是 Python Package Index (PyPI),其 URL 为 https://pypi.org/simple。当未对镜像源进行设置时,pip会使用默认镜像源。
与conda不同,pip默认的镜像源只有上述一个。

3.2通过终端临时设置镜像源

pip可以通过终端以命令的形式设置镜像源,但设置的镜像源的命令与安装软件包的命令捆绑在一起,即安装一次软件包设置一次镜像源在当前镜像源查找不到软件包时不会去默认镜像源继续查找,以安装numpy和使用清华镜像源为例,命令如下:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

也可通过终端设置pip下载软件包进行网络连接的超时时间,默认超时时间是15s,设置超时时间为30s的命令如下:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple --timeout 30
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout 30

上述两条命令是等效的,timeout和default-timeout都可设置超时时间。
注意超时时间是针对网络连接而言,包括通过代理服务器访问镜像源并下载软件包的整个过程,不单作用于镜像源,也作用于代理。

3.3通过配置文件设置一个或多个镜像源

pip默认配置文件名为pip.ini,位于%APPDATA%\pip,如果找不到该文件夹或文件,可以手动创建。打开文件后,添加如下内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
extra-index-url =
    https://pypi.org/simple
    https://pypi.mirrors.ustc.edu.cn/simple
timeout = 30

上述内容定义了三个镜像源和超时时间,三个源的优先级即为从上到下的排列顺序,pip下载软件包时会依次从三个源进行查找。
保存配置文件后,可使用以下命令来验证 pip 的配置:

pip config list

四、conda代理设置

conda的代理可通过终端和配置文件进行设置,也还可在系统的环境变量中设置代理,conda在自身没有设置代理的情况下会读取环境变量中的代理设置,但环境变量的代理设置可能会影响到其他程序。如果同时设置了自身的代理和环境变量的代理,conda会优先使用自身代理

4.1通过终端设置代理

设置http和https代理命令如下:

conda config --set proxy_servers.http http://0.0.0.0:00000
conda config --set proxy_servers.https https://0.0.0.0:00000

设置完成后,可通过如下命令进行查看:

conda config --show proxy_servers

也可使用如下命令删除代理:

conda config --remove-key proxy_servers.http
conda config --remove-key proxy_servers.https

4.2通过配置文件设置代理

打开配置文件,添加如下内容:

proxy_servers:
  http: http://0.0.0.0:00000
  https: https://0.0.0.0:00000

4.3在系统环境变量中设置代理

在系统环境变量中设置代理的方式有两种,分别为使用命令行终端(cmd)和通过界面设置。
方式一:使用命令行终端(暂时性设置)
打开cmd,然后输入以下命令:

set HTTP_PROXY=http://0.0.0.0:00000
set HTTPS_PROXY=https://0.0.0.0:00000

这种方式设置的代理仅在当前命令行终端有效,关闭命令行终端后设置会丢失。
方式二:界面设置(永久设置)
1、打开 我的电脑,在空白处右键,点击属性;
2、点击左侧的高级系统设置;
3、在 系统属性 窗口中,点击 环境变量;
4、在 环境变量 窗口中,选择在用户变量或系统变量执行下述步骤即可:
5、
点击 新建 按钮。
在 变量名 中输入 HTTP_PROXY。
在 变量值 中输入 http://0.0.0.0:00000。
点击 确定。
6、重复步骤5添加 HTTPS_PROXY 变量。
设置好后如下图:
在这里插入图片描述
设置完成后打开cmd,输入以下命令查看环境变量设置:

echo %HTTP_PROXY%
echo %HTTPS_PROXY%

五、pip代理设置

pip代理设置与镜像源设置类似,通过终端只能进行临时性设置,而通过配置文件可实现永久设置,此外与conda一样,也可通过系统的环境变量设置代理,pip自身的代理优先级同样高于环境变量的代理

5.1通过终端临时设置代理

以下载安装numpy为例,设置代理命令如下:

pip install numpy --proxy http://0.0.0.0:00000

5.2通过配置文件设置代理

打开配置文件,添加以下内容:

[global]
proxy = http://0.0.0.0:00000

保存配置文件后,可通过以下命令来验证 pip 的配置:

pip config list

5.3在系统环境变量中设置代理

参照4.3小节。

六、不同虚拟环境中的pip设置

上述pip的配置文件是全局配置文件,会作用于所有由conda创建的虚拟环境中的pip,如果需要对每个虚拟环境中的pip进行一些特定配置,方法如下:

6.1在虚拟环境文件夹下创建pip配置文件

如虚拟环境名为myenv,则到conda的安装目录\envs\myenv目录下,创建pip.ini文件,按照前文所述对pip进行配置,那么在该虚拟环境下使用pip就会加载此配置文件。

6.2在虚拟环境的激活脚本中设置配置

1、找到虚拟环境的激活脚本目录:conda的安装目录\envs\myenv\etc\conda\activate.d
如果activate.d文件夹不存在,可进行创建。
2、创建或编辑一个名为 pip_config.bat 的脚本文件,内容如下:

set PIP_CONFIG_FILE=%CONDA_PREFIX%\pip.conf

3、找到虚拟环境的deactivate 脚本目录:conda的安装目录\envs\myenv\etc\conda\deactivate.d
如果deactivate.d文件夹不存在,可进行创建。
4、创建或编辑一个名为 de_pip_config.bat 的脚本文件,重置环境变量,内容如下:

set PIP_CONFIG_FILE=

5、然后在虚拟环境的根目录中创建 pip.conf 文件,按照前文所述对pip进行配置。

参考文档

更换pip源到国内镜像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值