【Python】conda镜像配置,

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

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

6. conda常用命令

# 获取版本号
conda -V

# 获取帮助
conda -h

# 环境管理命令帮助
conda env -h

# 列举所有环境
conda info --env
conda env list

# Python创建虚拟环境
conda create -n your_env_name python=x.x


# 复制某个环境
conda create --name new_env_name --clone old_env_name 
# 彻底删除旧环境,则可以实现重命名环境
conda remove --name old_env_name --all      # 注意:必须在base环境下进行以上操作,否则会出现各种莫名的问题。

# 激活或者切换虚拟环境
Windows: activate your_env_name
Linux:  source activate your_env_nam
 
# 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)
Windows: deactivate  或者 activate root 切回root环境
Linux:source deactivate 

# 删除虚拟环境
conda remove -n your_env_name --all

# 删除环境钟的某个包
conda remove --name $your\_env\_name  $package\_name 

# 列举包
conda list
conda list -n your_env_name # 列举非当前活跃环境下的所有包

# 安装包
conda install  [package]
conda install -n your_env_name [package] # 安装非当前活跃环境下的包
conda install --channel https://conda.anaconda.org/anaconda tensorflow=1.8.0 # 指定版本和channel
# 升级包
conda update [package]      
conda update conda          # 升级conda

# 查找包
conda search -h # 查看search使用帮助信息
conda search tensorflow  # 查看指定包可安装版本信息命令

# 卸载包
conda uninstall [package]   # 卸载xxx文件包

# 清理包
conda clean -p      //删除没有用的包 # 这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们
conda clean -t      //删除tar包
conda clean -y --all //删除所有的安装包及cache

# 分享环境
activate target_env # 进入要分享的环境
conda env export > environment.yml # 当前工作目录下生成一个environment.yml
conda env create -f environment.yml # 拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境


7. conda install和pip install

先说结论:conda 中可以使用pip, 但conda 并不兼容pip, pip 安装的包越多, 越容易引发包版本依赖问题, 所以能用conda安装的包先用conda 安装, 不能的再到激活的虚拟环境里用pip安装.

conda install xxx:这种方式安装的库都会放在anaconda安装的位置/pkgs目录下,这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。

pip install xxx:分两种情况,一种情况就是当前conda环境的python是conda安装的,和系统的不一样,那么xxx会被安装到anaconda安装的位置/envs/current_env/lib/python3.x/site-packages文件夹中,如果当前conda环境用的是系统的python,那么xxx会通常会被安装到~/.local/lib/python3.x/site-packages文件夹中。

8. conda配置代理

.condarc文件中加入代理信息即可

channels:
 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/4047309ca8aff0499766d7b4f9821383.png)

![img](https://img-blog.csdnimg.cn/img_convert/8e2da901ea7f496603737b40fc6ed3df.png)

![img](https://img-blog.csdnimg.cn/img_convert/b34b0898ca1ab3e9c79da85260a4e74a.png)

![img](https://img-blog.csdnimg.cn/img_convert/c65ab6a2a8e24e1c6f299d68393cc78f.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

nvert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

<img src="https://img-community.csdnimg.cn/images/fd6ebf0d450a4dbea7428752dc7ffd34.jpg" alt="img" style="zoom:50%;" />
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值