【Python】conda镜像配置,.condarc文件详解,channel镜像

1. conda 环境

安装miniconda即可,Miniconda 安装包可以到 http://mirrors.aliyun.com/anaconda/miniconda/ 下载。

.condarc是conda 应用程序的配置文件,在用户家目录(windows:C:\users\username\),用于管理镜像源。如果不存在,则打开conda的,执行一下:

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

在这里插入图片描述
在这里插入图片描述

2. conda包管理目录

anaconda安装的位置/pkgs该目录是用户指定update或install时由 Conda 下载并提取的包,都是解压后的包,可以在 conda 环境中通过link关联。

anaconda安装的位置\envs\虚拟环境\Lib\site-packages 则是启用虚拟环境后import时导入包的地方。它们来自anaconda安装的位置/pkgs。

anaconda安装的位置/Lib/site-packages 是base环境的路径。

3. 配置镜像源

3.1 通过命令配置和删除

# 查看当前conda配置
conda config --show channels
# 增加channel
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/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud//pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/#设置搜索是显示通道地址
conda config --set show_channel_urls yes# Python创建虚拟环境
conda create -n your_env_name python=x.x# 激活或者切换虚拟环境
Windows: activate your_env_name
Linux:  source activate your_env_nam# 对虚拟环境中安装额外的包
conda install -n your_env_name [package]# 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)
Windows: deactivate env_name 或者`activate root`切回root环境
Linux:source deactivate # 删除虚拟环境
conda remove -n your_env_name --all# 删除环境钟的某个包
conda remove --name $your_env_name  $package_name 

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/会直接加到.condarc文件的channels下面,成为一个独立的channel:
在这里插入图片描述

3.2 通过修改文件添加(推荐)

直接修改.condarc文件是最方便的。

大家常搜到的配置文件如下:
阿里源(来自阿里云官方镜像配置指导):

channels:- defaults
show_channel_urls: true
default_channels:- http://mirrors.aliyun.com/anaconda/pkgs/main- http://mirrors.aliyun.com/anaconda/pkgs/r- http://mirrors.aliyun.com/anaconda/pkgs/msys2
custom_channels:conda-forge: http://mirrors.aliyun.com/anaconda/cloudmsys2: http://mirrors.aliyun.com/anaconda/cloudbioconda: http://mirrors.aliyun.com/anaconda/cloudmenpo: http://mirrors.aliyun.com/anaconda/cloudpytorch: http://mirrors.aliyun.com/anaconda/cloudsimpleitk: http://mirrors.aliyun.com/anaconda/cloud

清华源:

channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

配置完后如果不生效可清空conda缓存再试试:

 conda clean -i 

4. .conda文件详解

conda 配置文件.condarc是一个可选的运行时配置文件,允许用户配置 conda 的各个方面,例如在哪些channel中搜索包、代理设置和环境目录。本文仅讨论和channel相关的部分。

4.1 channels

channels下面配置的就是可访问的chennel。
修改.condarc文件的channels会覆盖 conda 搜索的默认值,导致 conda 仅按给定顺序搜索此处列出的频道。

频道有url和非url之分:

  • url:自定义的搜索地址,如前面的https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  • 非url: Anaconda.org 用户或组织名称,如conda-forge对应着https://conda.anaconda.org中的conda-forge。

如果.condarc文件如下:

channels:- conda-forge- http://Code_LT- defaults

则conda搜索pandas包的时候就会按conda-forge->http://Code_LT->defaults的顺序搜索。

4.2 channels分类

conda把channel分为两类

  • 默认channel(default channels)
  • 社区channel(community channels)

如果不修改.condarc文件,conda会默认从这两类channel中搜索需要的包:

  • 默认channel:对应repo.anaconda.com仓,硬编码写死了对应如下三个仓库(:
https://repo.anaconda.com/pkgs/main
https://repo.anaconda.com/pkgs/r
https://repo.anaconda.com/pkgs/msys2
  • 社区channel:对应conda.anaconda.org仓,即https://conda.anaconda.org

4.3 channels镜像修改

.condarc文件除了把url硬编码进chennels下面,还可以把非url的Anaconda.org 用户或组织名称映射到指定的仓。

根据channels分类可知道,要修改的化就涉及默认channel和社区channel的修改。

利用default_channels修改默认channel

如前面讲的阿里镜像中的:

default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2

则把原有的defaults对应的仓换成了上面的阿里仓。

利用channel_alias 修改社区channel

所有社区频道都会被修改,这个用得比较少,如:

channel_alias: https://my-mirror.com

则配置conda-forge频道后,conda不会再去https://conda.anaconda.org搜。

利用custom_channels修改指定社区channel

custom_channels:conda-forge: https://Code_LT/conda-forge

这样写进.condarc文件中后,配置conda-forge就不会再去https://conda.anaconda.org搜,而是到https://Code_LT/conda-forge搜,其他社区频道不变。

这样,清华源和阿里源的配置就弄明白了。

4.4 为环境配置单独的.condarc文件

要为单个环境选择通道,请将.condarc 文件放入该环境的根目录中(或 使用conda config 时使​​用--env选项)。

示例:如果您已在主目录中安装了带有 Python 3 的 Miniconda,并且环境名为“flowers”,则路径可能为:

~/miniconda3/envs/flowers/.condarc

5. 配置文件冲突解决

conda会在如下目录中搜索.condarc文件

if on_win:SEARCH_PATH = ("C:/ProgramData/conda/.condarc","C:/ProgramData/conda/condarc","C:/ProgramData/conda/condarc.d",)
else:SEARCH_PATH = ("/etc/conda/.condarc","/etc/conda/condarc","/etc/conda/condarc.d/","/var/lib/conda/.condarc","/var/lib/conda/condarc","/var/lib/conda/condarc.d/",)SEARCH_PATH += ("$CONDA_ROOT/.condarc","$CONDA_ROOT/condarc","$CONDA_ROOT/condarc.d/","$XDG_CONFIG_HOME/conda/.condarc","$XDG_CONFIG_HOME/conda/condarc","$XDG_CONFIG_HOME/conda/condarc.d/","~/.config/conda/.condarc","~/.config/conda/condarc","~/.config/conda/condarc.d/","~/.conda/.condarc","~/.conda/condarc","~/.conda/condarc.d/","~/.condarc","$CONDA_PREFIX/.condarc","$CONDA_PREFIX/condarc","$CONDA_PREFIX/condarc.d/","$CONDARC",
)

多个文件之间可能会发生冲突,按照如下原则解决冲突(具体不展开了,可自行查看官网资料):

  • Lists - merge
  • Dictionaries - merge
  • Primitive - clobber

冲突解决的优先级:
在这里插入图片描述

参考:

Anaconda安装的包所在的位置
Anaconda的包路径,终于讲清楚了
官网:安装包list和位置相关
【conda】配置国内镜像源
官网:conda目录结构介绍
官网:.condarc文件官方解释
官网:channel镜像的官方说明
阿里云官方镜像配置指导
[python中的PYTHONHASHSEED (https://blog.csdn.net/Changxing_J/article/details/122451319)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/221991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用提问的方式来学习:冯·诺伊曼体系结构与操作系统OS

学习冯诺伊曼体系结构之前,我们要本着两个问题来学习: 什么是冯诺伊曼体系结构?为什么要有冯诺伊曼体系结构? 一、冯诺伊曼体系结构 1. 什么是冯诺伊曼体系结构? 那我们就先来回答一下什么是冯诺伊曼体系结构&#x…

Python中的TesserOCR:文字识别的全方位指南

更多资料获取 📚 个人网站:ipengtao.com 文字识别在图像处理领域中起到了至关重要的作用,而TesserOCR(Tesseract OCR的Python封装)为开发者提供了一个强大的工具,使得文字识别变得更加便捷。本文将通过详细…

Matlab示例-Examine 16-QAM Using MATLAB学习笔记

​工作之余学习16-QAM 写在前面 网上看到许多示例,但一般都比较难以跑通。所以,还是老方法,先将matlab自带的例子研究下。 Examine 16-QAM Using MATLAB Examine 16-QAM Using MATLAB 或者,在matlab中,键入&#x…

C语言数据结构-二叉树的入门

文章目录 0 碎碎念1 二叉树的概念和结构1.1 概念和特点1.2 结构1.3 特殊的二叉树1.4 二叉树的存储与性质1.5 前序、中序和后序 2 简单二叉树的实现2.1 定义数据结构类型2.2 前序、中序和后序接口的实现2.3 二叉树中节点的个数2.4 叶子节点的个数 3 完整代码块3.1 BinaryTree.h3…

「神印王座」皓晨带伙伴参与伊老试炼,12魔神攻打震南关,高能

Hello,小伙伴们,我是拾荒君。 时光匆匆,国漫《神印王座》的第85集已经与大家如约而至。想必各位观众都已经迫不及待地观看了这一集,其中,龙皓晨向光之晨曦团的成员们揭示了永恒之塔的秘密,并带领他们深入其中。 永恒之…

nginx服务前端访问查看无响应的问题

问题 nginx 启动之后,前端访问无数据,F12 查看,提示挂起。 以为是配置问题,查看配置文件,未发现配置的有问题。 原因 通过查看配置文件,发现转发的服务地址为127.0.0.1,手动ping 127.0.0.1&a…

如何部署Portainer容器管理工具+cpolar内网穿透实现公网访问管理界面

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 前言 本文主要介绍如何本地安装Portainer并结合内网穿透工具实现任意浏览器远程访问管理界面。Portainer 是一个轻量级…

Unity 关于Rigidbody刚体组件的理解

一、基本了解 刚体Rigidbody因具体物理相关的属性,使得实际应用中更有真实感。应用也多: Rigidbody它可以受到重力、碰撞或者力的作用,所以我们可以用它模拟物体的真实物理行为,如受到重力的作用、与其他刚体对象进行碰撞&#…

ChatGPT Plus重新开启订阅

12月14日凌晨,OpenAI首席执行官Sam Altman在社交平台宣布,终于找到了更多的GPU算力,重新开启订阅ChatGPT Plus。 上个月15日,OpenAI就因为算力不足,以及用户激增等原因暂停了ChatGPT Plus订阅。 Sam表示,在…

【九】python模板方法模式

9.1 模板方法模式概述 模板方法模式是一种行为设计模式,它使用一个抽象的基类定义了一个操作中的算法的骨架,而将一些步骤的实现延迟到子类中。模板方法模式允许子类在不改变算法结构的情况下重新定义算法中的某些步骤。 9.2 代码示例 在Python中使用…

【亚马逊云科技】通过高性能低延迟对象存储 S3实现网站资源托管

本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 文章目录 前言1 S3 介绍1.1 优点 2 使用步骤2.1 注册账户2.2 创建存储桶2.2.1 打开控制…

智能指针管理“newed对象”

为什么要有智能指针? 指针智能是管理管理动态内存分配对象的一种机制。它提供了自动管理内存,避免常见内存泄漏和悬空指针。 对于上述Func函数的操作,一不小心就会产生很多问题。 p1 new时候抛异常 什么都不做p2 new时候抛异常 p1需要被清理…

深入理解JVM虚拟机第三十篇:详解JVM当中栈帧的一些附加信息以及虚拟机栈的5个面试题

😉😉 欢迎加入我们的学习交流群呀: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824 📚📚 工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章…

如何在Ubuntu的Linux系统上搭建nacos集群

官方给出的集群部署架构图 集群部署说明 (nacos.io)3个或3个以上nacos节点才能构成集群当前示例中包含3个nacos节点,同时一个负载均衡器代理3个nacos,本示例中负载均衡器可使用的是nginx 准备并安装好正常运行的nginx,本示例略准备并安装好正…

Redis权限管理体系(一):客户端名及用户名

在Redis6之前的版本中,因安全认证的主要方式是使用Redis实例的密码进行基础控制,而无法按照不同的应用来源配置不同账号以及更细粒度的操作权限控制来管理。本文先从client list中的信息入手,逐步了解Redis的客户端名设置、用户设置及权限控制…

【Monitor, Maintenance Operation, Script code/prgramme】

Summary of M,M&O,Program JD) Monitor & M&O Symbio信必优) Job chance/opportunities on Dec 12th, 20231.1) Content 招聘JD job description:1.2) suggestions from Ms Liang/Winnie on Wechat app1.3) Java微服务是什么?1.3.1) [URL Java 微服务](…

京微齐力:基于H7的平衡控制系统(一、姿态解析)

目录 前言一、关于平衡控制系统二、实验效果三、硬件选择1、H7P20N0L176-M2H12、MPU6050 四、理论简述五、程序设计1、Cordic算法2、MPU6050采集数据3、fir&iir滤波4、姿态解算 六、资源消耗&工程获取七、总结 前言 很久之前,就想用纯FPGA做一套控制系统。可…

C++二维数组(2)

图形相似度 题目描述: 给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。 说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。 两幅图像的相似度定义为相同像素…

橘子学K8S01之容器中所谓的隔离

我们一直都在说容器就是一个沙盒,沙盒技术顾名思义就是像一个集装箱一样,把应用(服务,进程之类的)装起来的技术,这样每个进程在自己的沙盒中和其他的沙盒隔离开来,每个沙盒之间存在一个边界使得他们互不干扰&#xff0…

鸿鹄云商:Java商城引领商业模式的潮流,免费搭建多种商城模式

java SpringCloud版本b2b2c鸿鹄云商平台全套解决方案 使用技术: Spring CloudSpring BootMybatis微服务服务监控可视化运营 B2B2C平台: 平台管理端(包含自营) 商家平台端(多商户入驻) PC买家端、手机wap/公众号买家端 微服务(30个通用…