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

ops/2024/10/21 2:59:30/

condapip镜像源代理设置

一、前言

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

conda_7">二、conda镜像源设置

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

conda_9">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_70">三、pip镜像源设置

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

pip_72">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/simplehttps://pypi.mirrors.ustc.edu.cn/simple
timeout = 30

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

pip config list

conda_106">四、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:00000https: 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_163">五、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_186">六、不同虚拟环境中的pip设置

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

pip_188">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源到国内镜像


http://www.ppmy.cn/ops/47165.html

相关文章

Flutter 中的 TooltipTheme 小部件:全面指南

Flutter 中的 TooltipTheme 小部件:全面指南 Flutter 是一个由 Google 开发的跨平台 UI 框架,它提供了丰富的组件来帮助开发者构建美观、响应式的用户界面。在 Flutter 的 Material 组件库中,Tooltip 是一个轻量级的组件,用于在用…

【记录43】el-table @selection-change 数据回显、条件约束、历史回显清除

场景 在其他地方设置好人员&#xff0c;到对应的页面直接在表格中复选设置好的人员。解决方案用到selection-change方法 <el-button click"EchoClick()">回显设置好的人</el-button> <el-table ref"choeck" :data"TableData" s…

机器学习-2-机器学习领域六种基础算法的历史溯源

【机器学习】吴恩达:机器学习的六个核心算法! 原文链接 吴恩达在其创办的人工智能周讯《The Batch》上更新了一篇博文,总结了机器学习领域多个基础算法的历史溯源。 吴恩达回忆他的研究历程中曾有一次抉择: 多年前,在一次项目中,选择算法时,他不得不在神经网络与决策树…

Vue基础(2)响应式基础

一. reactive() 在 Vue3 中&#xff0c;可以使用 reactive() 创建一个响应式对象或数组&#xff1a; <script setup> import { reactive } from vueconst state reactive({ count: 0 }) </script><template><button click"state.count">{…

Linux部署MySQL

获取tar包并解压 对于数据库版本不同&#xff0c;主流分为MySQL5以及8两种版本&#xff0c;配置会有一些些出入&#xff0c;5的话基于my.cnf可以进行相应配置&#xff0c;8没有。如图&#xff1a; 其中&#xff1a; basedir为存放解压mysql文件的位置 datadir为我们进行初始化…

静态路由原理与配置

文章目录 路由器的工作原理路由根据路由表转发数据 路由表的形成路由表路由表的形成 静态路由和默认路由静态路由默认路由 路由器转发数据包的封装过程源目地址变化 交换与路由对比路由工作在网络层交换工作在数据链路层 静态路由和默认路由的配置 路由器的工作原理 路由 路由…

【杂记-浅谈RIP基于距离矢量的动态路由选择协议】

一、什么是RIP协议 RIP&#xff0c;Routing Information Protocol&#xff0c;路由信息信息&#xff0c;也叫动态路由选择协议&#xff0c;其运行在网络层&#xff0c;RIP基于距离矢量&#xff08;Distance-Vector&#xff09;算法&#xff0c;它使用跳数&#xff08;Hop Coun…

oracle with 递归查询

在Oracle SQL中&#xff0c;WITH子句&#xff08;也称为公共表达式或CTE&#xff0c;Common Table Expressions&#xff09;用于定义临时的命名结果集&#xff0c;这些结果集可以在主查询中引用。WITH子句可以简化复杂的SQL查询&#xff0c;使其更具可读性&#xff0c;特别是当…