conda 使用教程

2023-05-16

conda 使用教程

针对 ubuntu 20.04
ubuntu 20.04 是 “西柚云” 主要使用的操作系统 西柚云官网

文章目录

  • conda 使用教程
    • 虚拟环境管理
    • channels 管理
    • 包管理
    • 配置管理

参考教程: conda 的安装和卸载

虚拟环境管理

  1. conda env list (列出虚拟环境信息)

  2. conda create -n <env_name> (创建虚拟环境)

    # 命令示例
    conda create -n py38 -y
    conda create -n py39 python=3.9 -y  # 官方推荐使用这种方式
    conda create -n py39_2 -y && conda install -n py39_2 python=3.9 -y
    
    # 比较两种创建方式有何不同,并无任何不同
    diff miniconda3/envs/py39 miniconda3/envs/py39_2
    

    在这里插入图片描述
    可以看到,在创建环境时指定 python 版本,和创建完环境后安装 python 的指定版本两者导致的结果并无不同,那为什么官方推荐在创建环境时使用 python=3.9 的方式指定 python
    版本呢? 这是因为如果您要在该虚拟环境中使用 python,就应该在创建环境之初下载 python3.9 ,之后在这个虚拟环境中下载的其他包都会匹配 python3.9的依赖与约束。如果安装了很多其他包之后再安装 python3.9,处理环境依赖就会变得较为复杂,甚至导致一些不易察觉的 bug。

  3. conda activate <env_name> (进入虚拟环境)

    # 命令示例
    conda activate py39
    
  4. conda deactivate <env_name> (退出虚拟环境)

    # 命令示例
    conda deactivate 
    
  5. conda remove -n <env_name> --all 删除虚拟环境

    # 命令示例
    conda create -n test -y
    conda env list
    # 删除 test 虚拟环境
    conda remove -n test --all
    conda env list
    
  6. 导出虚拟环境

    # 适用于在相同操作系统版本下 clone 虚拟环境
    conda list --explicit > spec-list.txt
    # 适用于所有平台之间 clone 虚拟环境
    conda env export > environment.yml
    
  7. 根据导出的文件创建虚拟环境

    # 代码示例
    # 根据导出包创建 env_name1 的虚拟环境
    conda create -n env_name1 --file spec-list.txt
    conda env create --file environment.yml
    

channels 管理

conda 处理 channels 的优先级的步骤:
1. 按通道优先级从高到低对包进行排序。
2. 将捆绑的软件包(具有相同通道优先级的软件包)从最高版本号到最低版本号排序。例如,如果 channelA 包含 NumPy 1.12.0 和 1.13.1,则 NumPy 1.13.1 将被排序更高。
3. 将仍然绑定的软件包(具有相同通道优先级和相同版本的软件包)从最高到最低内部版本号排序。例如,如果 channelA 同时包含 NumPy 1.12.0 build 1 和 build 2,则 build 2 首先排序。通道B 中的任何包都将排在通道A 之下。
4. 安装排序列表中满足安装规范的第一个包

  1. 列出 conda 中配置的 channels,根据从低到高的优先级排列
    conda config --get channels 
    
  2. 添加 channels,添加国内的 channels 也就是我们常说的添加国内源
    	# 添加中科大源
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
    conda config --set show_channel_urls yes
    
    # 添加清华大学源
    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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
    conda config --set show_channel_urls yes
    
    # 添加阿里云源
    conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free
    conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main
    conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/conda-forge
    conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/bioconda
    conda config --set show_channel_urls yes
    
  3. 删除 channels
    • 方法 1 (通过命令删除):
      # 首先查看 channels
      conda config --get channels
      # 删除指定的 channels
      conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
      
    • 方法 2 (编辑 .condarc 文件删除想要删除 channels 对应的行)
      vi ~/.condarc
      
  4. 安装包时暂时添加 channels,此 channels 处于最高优先级
    conda install -c bioconda presto
    

包管理

使用 conda 安装包之前,需要在以下链接中搜索 conda 包,找到安装对应包的命令后再进行安装,如果不能在下面的链接中找到安装方法,即表明该包不能通过 conda 安装。
搜 conda 包
在这里插入图片描述

  1. conda list (查看当前虚拟环境已经安装的包)
  2. conda install <package_name>
    # 命令示例
    conda install --help
    # -y: yes
    conda install requests -y
    # -c: 临时增加一个 channel ,并且增加的 channels 会处于最高优先级
    conda install -c bioconda presto
    # -vv: 显示下载过程中的详细日志,方便定位问题
    conda install numpy -y -vv
    # 后台下载
    nohup conda install pandas -y &
    
  3. conda 官方建议,使用 conda 安装的 python包和使用 pip 安装的 python 包是有略微不同的,如果可能,尽量使用 conda 来安装包。参考链接
    • 在 conda 4.6 以后,conda 可以识别 pip 安装的 python包,不过目前这一功能还处于实验阶段。
    • 在 conda 中应该优先使用 conda 安装包,不要混用 conda 和 pip,可以设置一个虚拟环境专门用户 pip 管理 python 包
    • conda 和 pip 都可以根据文件批量安装 python 包
      pip list --format=freeze > requirements.txt
      pip install -r requirements.txt
      conda install -n env_name --file requirements.txt
      

配置管理

  1. conda config --show
    # 查看 channels
    conda config --help
    conda config --get channels
    conda config --remove <key> <value>
    

我们很难记住那么多配置项的作用,如果需要可以查阅 conda 官方教程对各配置项的详解
conda 配置项的作用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

conda 使用教程 的相关文章

随机推荐

  • 第十四周DP算法总结

    这周自己主要再看DP算法的博客 xff0c 感觉DP这一部分内容确实比之前的都要麻烦一些 xff0c 最后攻克这一部分难题还是挺好的 这周自己总结了一些题型 xff0c 以及一些方法思路 xff0c 最后再把动态规划和之前的分治和贪心做一下
  • 深度理解卷积神经网络

    神经网络包括卷积层 xff0c 池化层 xff0c 全连接层 一个最简单的神经元结构 xff0c 假如有三个输入 xff0c 都对应一个权重参数 xff0c 然后通过权重加起来 xff0c 经过一个激活函数 xff0c 最后输出y CNN中
  • 花了半个多小时才发现的错误。。

    找了半天原来该写mapper的地方写成了service 结果光栈溢出 在找错误的过程中发现有些sql语句也写得不对 xff0c 单词拼错的 xff0c 后边多加逗号的 xff0c 某些html语句后边多写逗号的 64 Service pub
  • 找了1个多小时才发现的错误。。

    如果只是跟着课本敲 xff0c 那就肯定报错了 好久没碰有点生疏了 之前敲过一个类似的加载properties的文件的方法 xff0c 直接把课本的这个改成这个就可以解决500的错误了 注释的地方是行不通的错误代码 xff01 xff01
  • 1. Python 的 print( )输出函数

    1 Python 的 print 输出函数 文章目录 1 Python 的 print 输出函数1 什么是print 函数2 print 函数的语法3 英文输入法4 敲下你的第一行代码5 print 函数的4种用法5 1 没有引号5 2 单
  • c语言顺序表的基本操作

    该代码段包含了几种比较常见的顺序表的基本操作 xff0c 有 xff1a 求表长 xff0c 按位取值 xff0c 按值取位 xff0c 插入和删除几种方式 xff1b include lt stdio h gt define listsi
  • c语言单链表的基本操作

    该程序包含了链表的头插法 尾插法 求表长 按位查找 按值查找 插入 删除 销毁等几种操作 xff1b include lt stdio h gt include lt stdlib h gt malloc和free都需要这个系统库函数头文件
  • 文件操作(结构体)

    将结构体内容写入到文件中 include lt stdio h gt include lt string h gt struct student char name 100 int age int main struct student s
  • c语言顺序栈的基本操作

    该程序包含了顺序栈的置空 判断是否为空 判断是否为满 入栈 出栈和取栈顶元素等几种操作 xff1b include lt stdio h gt define size 100 typedef int datatype 假定栈元素的类型为in
  • c语言循环队列的基本操作

    该程序包含了置空 xff0c 判断是否为空 xff0c 入队 xff0c 出队 xff0c 取对头元素等几个基本操作 xff1b include lt stdio h gt include lt stdlib h gt malooc需要的头
  • c语言链队的基本操作

    该程序包含了链队的置空 判断是否为空 入栈 出栈和取栈顶元素几种基本操作 include lt stdio h gt include lt stdlib h gt malloc和free都需要这个系统库函数头文件 xff1b typedef
  • 十进制纯小数M转化成B进制数小数

    通过使用循环队列的方式将十进制纯小数M转化成B进制数 xff1b include lt stdio h gt include lt stdlib h gt malloc需要的头文件 xff1b define size 100 typedef
  • 十进制整数N转化成B进制整数

    通过使用顺序栈的方式将十进制整数N转化成B进制整数 xff1b include lt stdio h gt include lt stdlib h gt define size 100 typedef struct int data siz
  • redhat8安装ansible,Redhat8版本太低

    ansible因为更新的原因要安装Python3 9 Redhat8自带Python版本太低 耗费了一个多星期才解决 关闭防火墙和selinux 1 systemctl status firewalld 2 systemctl stop f
  • 从键盘输入10个整数,编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组

    include lt stdio h gt void main int t 10 temp i max min max 61 0 min 61 0 for i 61 0 i lt 10 i 43 43 scanf 34 d 34 amp t
  • 枚举类型详解

    对于枚举类型 xff0c 想必不少的读者 xff0c 也是听过 xff0c 但是 xff0c 却没怎么见过如何使用 xff01 xff01 所以 xff0c 笔者打算用这一篇博客 xff0c 来详细的讲解一下 xff0c 枚举 xff01
  • 常用的几种布局方式---Flex 布局(垂直居中展示)

    常用的几种布局方式 Flex 布局 垂直居中展示 xff09 前言一 默认使用静态布局二 flex布局 1 父元素container1 1 display flex1 2 flex direction属性1 3 主轴与侧轴1 4 justi
  • Java中List排序的3种方法

    在某些特殊的场景下 xff0c 我们需要在 Java 程序中对 List 集合进行排序操作 比如从第三方接口中获取所有用户的列表 xff0c 但列表默认是以用户编号从小到大进行排序的 xff0c 而我们的系统需要按照用户的年龄从大到小进行排
  • 解密微信sqlite数据库

    最近在研究解密微信APP的数据库 xff0c 1 通过Android手机内置备份功能 xff0c 可以获取到微信的数据库文件 xff0c 再通过adb传到电脑上 2 获取微信EnMicroMsg db库的密码 xff08 通过IMEI和ui
  • conda 使用教程

    conda 使用教程 针对 ubuntu 20 04 ubuntu 20 04 是 西柚云 主要使用的操作系统 西柚云官网 文章目录 conda 使用教程虚拟环境管理channels 管理包管理配置管理 参考教程 xff1a conda 的