初识 Conda:一站式包管理和环境管理工具

在这里插入图片描述

文章目录

    • 1. 什么是 Conda?
    • 2. 为什么选择 Conda?
    • 3. Conda 的安装
        • 3.1 安装步骤(以 Miniconda 为例)
    • 4. Conda 的核心功能
      • 4.1 包管理
      • 4.2 环境管理
      • 4.3 Conda Forge
      • 4.4 设置国内镜像
    • 5. 常见使用场景
      • 5.1 数据科学项目
      • 5.2 离线安装
      • 5.3 安装非 Python 包
      • 5.4 Conda 的注意事项

在数据科学、机器学习和软件开发领域,包管理和环境隔离是常见的需求。Conda 是一个强大的开源工具,提供了方便的包管理和环境管理功能。无论是初学者还是资深开发者,Conda 都可以帮助你更高效地组织和运行项目。本文将介绍 Conda 的核心功能、应用场景以及如何高效使用它。


1. 什么是 Conda?

Conda 是一个跨平台的开源工具,用于管理软件包和环境。最初由 Anaconda 公司开发,它的设计目标是支持数据科学和机器学习领域,但其功能不仅局限于此。
以下是 Conda 的核心特点:

  • 包管理:安装、更新、卸载各种库和工具,包括 Python、R、C++ 等语言的包。
  • 环境管理:创建独立的虚拟环境,避免包冲突和环境污染。
  • 跨平台支持:支持 macOS、Linux 和 Windows 操作系统。
  • 语言无关:不仅支持 Python,还可以安装其他语言的包,例如 R 和 Java。

2. 为什么选择 Conda?

在开发中,你可能遇到以下问题:

  1. 包版本冲突:不同项目可能依赖于不同版本的包,手动管理容易出错。
  2. 环境隔离:开发环境和生产环境不一致导致问题难以复现。
  3. 复杂依赖链:安装某些软件包需要解决多个系统依赖项。

Conda 的出现让这些问题迎刃而解。以下是 Conda 的几大优势:

  • 简化依赖管理:自动解决依赖问题,确保安装的包能正常运行。
  • 便捷的环境切换:通过隔离项目环境,轻松管理多个项目。
  • 丰富的包源:Conda Forge 提供了大量开源包,适用于不同场景。
  • 离线安装:可以在离线环境中安装包和环境,特别适合无法联网的场景。

3. Conda 的安装

Conda 可以通过 Anaconda 或 Miniconda 安装:

  1. Anaconda:提供一个包含 Conda 和 100 多个常用包的完整发行版,适合初学者。
  2. Miniconda:仅包含 Conda 和 Python 的轻量化版本,适合高级用户。
3.1 安装步骤(以 Miniconda 为例)
  1. 从 Miniconda 官方网站 下载对应系统的安装包。

  2. 运行安装脚本:

  bash Miniconda3-latest-Linux-x86_64.sh
  1. 完成安装后,运行以下命令测试:

    conda --version
    
  2. 检查更新当前conda

conda update conda

4. Conda 的核心功能

4.1 包管理

Conda 提供了强大的包管理功能:

  • 安装包

    conda install numpy
    
  • 更新包

    conda update numpy
    
  • 卸载包

    conda remove numpy
    
  • 搜索包

    conda search pandas
    
  • 查看环境中安装了哪些包,默认是base环境

conda list

4.2 环境管理

环境是 Conda 的核心亮点之一:

  • 创建环境

    conda create --name my_env python=3.9
    
  • 激活环境

 conda activate my_env
  • 退出环境
  conda deactivate
  • 删除环境

    conda remove --name my_env --all
    
  • 列出环境

 conda env list
  • 恢复默认镜像
conda config --remove-key channels

4.3 Conda Forge

Conda Forge 是社区驱动的包仓库,提供了许多最新的包和版本:

conda install -c conda-forge matplotlib

4.4 设置国内镜像

http://Anaconda.org的服务器在国外,安装多个packages时,conda下载的速度经常很慢。清华TUNA镜像源有Anaconda仓库的镜像,将其加入conda的配置即可:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
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 --set show_channel_urls yes


5. 常见使用场景

5.1 数据科学项目

不同的项目可能需要不同版本的 Pandas、Numpy 或 TensorFlow,Conda 的环境管理功能让你轻松切换:

conda create --name ds_project python=3.8 pandas scikit-learn matplotlib

5.2 离线安装

在离线环境中,Conda 支持导出和导入环境:

  • 导出环境
  conda env export > environment.yml
  • 在另一台机器上导入
  conda env create -f environment.yml

5.3 安装非 Python 包

Conda 支持安装非 Python 软件包,例如 GCC、OpenCV:

conda install -c conda-forge opencv

5.4 Conda 的注意事项

  1. 环境大小

    :Conda 环境可能会比较大,建议定期清理未使用的包和环境。

  conda clean --all
  1. 与 pip 的冲突:在 Conda 环境中安装 pip 包时,可能导致包版本冲突。建议优先使用 Conda 安装包,只有在必要时才使用 pip。

  2. 包更新策略:避免盲目更新所有包,可能导致项目不兼容。

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

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

相关文章

chatwoot 开源客服系统搭建

1. 准备开源客服系统(我是用的Chatwoot ) 可以选择以下开源客服系统作为基础: Chatwoot: 功能强大,支持多渠道客户对接,(支持app,web)。Zammad: 现代的开源工单系统。FreeScout: 免…

Linux-----进程处理(子进程创建)

【尚硅谷嵌入式Linux应用层开发,linux网络编程,linux进程线程,linux文件io】https://www.bilibili.com/video/BV1DJ4m1M77z?p35&vd_source342079de7c07f82982956aad8662b467 main函数 fork创建进程 fork()参数 /*** brief 创建一个子进…

【蓝桥杯选拔赛真题85】python摆放箱子 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录 python摆放箱子 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python摆放箱子 第十五届蓝桥杯青少年组python比赛选拔赛真题详细解析 一…

【SQLi_Labs】Basic Challenges

什么是人生?人生就是永不休止的奋斗! Less-1 尝试添加’注入,发现报错 这里我们就可以直接发现报错的地方,直接将后面注释,然后使用 1’ order by 3%23 //得到列数为3 //这里用-1是为了查询一个不存在的id,好让第一…

按照人们阅读Excel习惯来格式化BigDecimal

1、环境/问题描述 使用springboot发送邮件(附件)的方式将月度报表发送给领导查阅,数据是准确的,领导基本满意。 就是对一些数字的格式化提出了改进建议,比如不要让大数字自动转为科学计数法、浮点数小数点后都是0就不要带出来,根…

STM32 高级 WIFi案例1:测试AT指令

需求描述 测试AT指令是否能够正常控制ESP32的wifi,比如重启、读取设备信息等。 思路: stm32通过串口usart2向ESP32发布命令。ESP32通过串口1返回信息。 配置: 第一步:对ESP32芯片烧录可以读取stm32命令的固件(fac…

Unity 读Excel,读取xlsx文件解决方案

Unity读取表格数据 效果: 思路: Unity可以解析Json,但是读取Excel需要插件的帮助,那就把这个功能分离开,读表插件就只管读表转Json,Unity就只管Json解析,中间需要一个存储空间,使用…

通过无障碍服务(AccessibilityService)实现Android设备全局水印显示

一、无障碍功能简介 首先我们先来了解下无障碍功能的官方介绍: 无障碍服务仅应用于帮助残障用户使用 Android 设备和应用。它们在后台运行,并在触发 AccessibilityEvents 时接收系统的回调。此类事件表示用户界面中的某些状态转换,例如焦点已…

查看vue的所有版本号和已安装的版本

1.使用npm查看Vue的所有版本: npm view vue versions2.查看项目中已安装的 Vue.js 版本 npm list vue

【鸿蒙NEXT】鸿蒙里面类似iOS的Keychain——关键资产(@ohos.security.asset)实现设备唯一标识

前言 在iOS开发中Keychain 是一个非常安全的存储系统,用于保存敏感信息,如密码、证书、密钥等。与 NSUserDefaults 或文件系统不同,Keychain 提供了更高的安全性,因为它对数据进行了加密,并且只有经过授权的应用程序才…

js ul li 事件委托

<ul><li>1111111111</li><li>2222222222</li><li>3333333333</li><li>4444444444</li> </ul>常规的 li 绑定点击事件 document.querySelectorAll(ul li).forEach((li) > {li.addEventListener(click, functio…

vue 嵌套el-dialo,当内层的弹窗弹出时,整个页面被遮罩

活不多说&#xff0c;直接上问题 当在页面上&#xff0c;点击出现第一个弹窗&#xff0c;然后在弹窗里面&#xff0c;点击在再出现一个弹窗时&#xff0c;就是如下效果。 查看Html,出现了遮罩层 Vue的建议是&#xff0c;不建议嵌套 Dialog&#xff0c;但实际上肯定存在嵌套 …

在基于Centos7的服务器上启用【Gateway】的【Clion Nova】(即 ReSharper C++ 引擎)

1. 检查启动报错日志&#xff0c;目录在 ~/.cache/JetBrains/CLion202x.x.x/log/backend.202x-xx-xx_xxxx.xxxx-err.log 2. 大致可能有两种报错 a. Process terminated. Couldnt find a valid ICU package installed on the system. 这个报错只需要装一下 libicu-devel 包即可…

短视频是如何一步步“蚕食”我们大脑的?

点击上方△腾阳 关注 转载请联系授权 你好&#xff0c;我是腾阳。 今天我们将深入探讨短视频是如何「蚕食」我们的大脑。 首先问下自己&#xff0c;你有多久没有看完一篇长文了&#xff1f; 你是否曾在清晨阳光中&#xff0c;被手机屏幕上短视频图标吸引&#xff0c;而忘记…

1、Jmeter、jdk下载与安装

1、访问官网&#xff0c;点击下载Jmeter http://jmeter.apache.org/ 2、在等待期间&#xff0c;下载对应的Java https://www.oracle.com/cn/java/technologies/downloads/#jdk23-windows 3、全部下载好&#xff0c;先安装JDK ![在这里插入图片描述](https://i-blog.csdnimg…

Hive刷分区MSCK

一、MSCK刷分区 我们平时通常是通过alter table add partition方式增加Hive的分区的&#xff0c;但有时候会通过HDFS put/cp命令或flink、flum程序往表目录下拷贝分区目录&#xff0c;如果目录多&#xff0c;需要执行多条alter语句&#xff0c;非常麻烦。Hive提供了一个"…

云手机+Facebook:让科技与娱乐完美结合

移动互联网时代&#xff0c;Facebook作为全球最大的社交媒体平台之一&#xff0c;早已成为企业、品牌和组织竞相角逐的营销阵地。而云手机的出现&#xff0c;则为Facebook营销注入了新的活力&#xff0c;其独特的优势让营销活动更加高效、精准且灵活。本文将深入探讨云手机在Fa…

STM32完全学习——FATFS0.15移植SD卡

一、下载FATFS源码 大家都知道使用CubMAX可以很快的将&#xff0c;FATFS文件管理系统移植到单片机上&#xff0c;但是别的芯片没有这么好用的工具&#xff0c;就需要自己从官网下载源码进行移植。我们首先解决SD卡的驱动问题&#xff0c;然后再移植FATFS文件管理系统。 二、SD…

solr9.7 单机安装教程

1.环境要求:jdk11以上 2.下载wget https://dlcdn.apache.org/solr/solr/9.7.0/solr-9.7.0.tgz 3.解压 4.修改solr.in.sh配置 5.启动命令 bin/solr start 6.创建core bin/solr create -c <core名称> 注意:用solr ui界面创建&#xff0c;会提示找不到solrconfig.xml和m…

MySQLOCP考试过了,题库很稳,经验分享。

前几天&#xff0c;本人参加了Oracle认证 MySQLOCP工程师认证考试 &#xff0c;先说下考这个证书的初衷&#xff1a; 1、首先本人是从事数据库运维的&#xff0c;今年开始单位逐步要求DBA持证上岗。 2、本人的工作是涉及数据库维护&#xff0c;对这块的内容比较熟悉&#xff…