初识 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. 包更新策略:避免盲目更新所有包,可能导致项目不兼容。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker 搭建集群

准备3台机器: #dockermaster 192.168.31.150 sudo hostnamectl set-hostname dockermaster #初始化主节点 docker swarm init --advertise-addr 192.168.31.150 #查看集群是否搭建成功 docker node ls #dockernode1 192.168.31.151 sudo hostnamectl set-hostname …

Kafka消息不丢失与重复消费问题解决方案总结

1. 生产者层面 异步发送与回调处理 异步发送方式:生产者一般使用异步方式发送消息,异步发送有消息和回调接口两个参数。在回调接口的重写方法中,可通过异常参数判断消息发送状态。若消息发送成功,异常参数为null;若发…

StarRocks 存算分离在得物的降本增效实践

编者荐语: 得物优化数据引擎布局,近期将 4000 核 ClickHouse 迁移至自建 StarRocks,成本降低 40%,查询耗时减半,集群稳定性显著提升。本文详解迁移实践与成果,文末附丁凯剑老师 StarRocks Summit Asia 2024…

微服务-1 认识微服务

目录​​​​​​​ 1 认识微服务 1.1 单体架构 1.2 微服务 1.3 SpringCloud 2 服务拆分原则 2.1 什么时候拆 2.2 怎么拆 2.3 服务调用 3. 服务注册与发现 3.1 注册中心原理 3.2 Nacos注册中心 3.3 服务注册 3.3.1 添加依赖 3.3.2 配置Nacos 3.3.3 启动服务实例 …

IDEA工具使用介绍、IDEA常用设置以及如何集成Git版本控制工具

文章目录 一、IDEA二、建立第一个 Java 程序三、IDEA 常用设置四、IDEA 集成版本控制工具(Git、GitHub)4.1 IDEA 拉 GitHub/Git 项目4.2 IDEA 上传 项目到 Git4.3 更新提交命令 一、IDEA 1、什么是IDEA? IDEA,全称为 IntelliJ ID…

kafka开机自启失败问题处理

前言:在当今大数据处理领域,Kafka 作为一款高性能、分布式的消息队列系统,发挥着举足轻重的作用。无论是海量数据的实时传输,还是复杂系统间的解耦通信,Kafka 都能轻松应对。然而,在实际部署和运维 Kafka 的…

二维数组综合

第1题 稀疏矩阵 查看测评数据信息 nm矩阵大部分元素是0的矩阵称为稀疏矩阵,假设有k个非0元素,则可把稀疏矩阵用K3的矩阵简记之,其中第一列是行号,第二列是列号,第三列是该行、该列下的非0元素的值。如:…

STM32-笔记20-测量按键按下时间

1、按键按下的时间-思路 我们先检测下降沿信号,检测到以后,在回调函数里切换成检测上升沿信号,当两个信号都检测到的时候,这段时间就是按键按下的时间,如图所示:>N*(ARR1)CCRx的值 N是在这段时间内&…

【网络协议】路由信息协议 (RIP)

未经许可,不得转载。 路由信息协议(Routing Information Protocol,简称 RIP)是一种使用跳数(hop count)作为路由度量标准的路由协议,用于确定源网络和目标网络之间的最佳路径。 文章目录 什么是…

PHP后执行php.exe -v命令报错并给出解决方案

文章目录 一、执行php.exe -v命令报错解决方案 一、执行php.exe -v命令报错 -PHP Warning: ‘C:\windows\SYSTEM32\VCRUNTIME140.dll’ 14.38 is not compatible with this PHP build linked with 14.41 in Unknown on line 0 解决方案 当使用PHP8.4.1时遇到VCRUNTIME140.dll…

blender中合并的模型,在threejs中显示多个mesh;blender多材质烘培成一个材质

描述:在blender中合并的模型导出为glb,在threejs中导入仍显示多个mesh,并不是统一的整体,导致需要整体高亮或者使用DragControls等不能统一控制。 原因:模型有多个材质,在blender中合并的时候,…

0xc0000020错误代码怎么处理,Windows11、10坏图像错误0xc0000020的修复办法

“0xc0000020”是一种 Windows 应用程序错误代码,通常表明某些文件缺失或损坏。这可能是由于系统文件损坏、应用程序安装或卸载问题、恶意软件感染、有问题的 Windows 更新等原因导致的。 比如,当运行软件时,可能会出现类似“C:\xx\xxx.dll …

wangEditor富文本插件在vue项目中使用和媒体上传的实现

wangEditor是前端一个比较流行的简洁易用,功能强大的前端富文本编辑器,支持 JS Vue React,提供了很多丰富的功能,下面手把手教你实现wangWditor富文本插件在vue项目中配置,保存、图片上传等功能。无脑ctrlc即可 基本功…

MySQL root用户密码忘记怎么办(Reset root account password)

在使用MySQL数据库的的过程中,不可避免的会出现忘记密码的现象。普通用户的密码如果忘记,可以用更高权限的用户(例如root)进行重置。但是如果root用户的密码忘记了,由于root用户本身就是最高权限,那这个方法…

C语言学习笔记(1)

在学习前,需要有一定的C语言基础。不必很深入,只需要知道函数,头文件,指针,数组等的概念就可以,但并非0基础笔记。 由于写到后面,不好编辑了,决定分成多篇写,请按编号学…

使用uWSGI将Flask应用部署到生产环境

使用uWSGI将Flask应用部署到生产环境: 1、安装uWSGI conda install -c conda-forge uwsgi(pip install uwsgi会报错) 2、配置uWSGI 在python程序的同一文件夹下创建 uwsgi.ini文件,文件内容如下表。 需要按照实际情况修改文件名称…

集成方案 | Docusign + 蓝凌 EKP,打造一站式合同管理平台,实现无缝协作!

本文将详细介绍 Docusign 与蓝凌 EKP 的集成步骤及其效果,并通过实际应用场景来展示 Docusign 的强大集成能力,以证明 Docusign 集成功能的高效性和实用性。 在当今数字化办公环境中,企业对于提高工作效率和提升用户体验的需求日益迫切。蓝凌…

CMS漏洞靶场攻略

DeDeCMS 环境搭建 傻瓜式安装 漏洞一:通过文件管理器上传WebShel 步骤⼀:访问目标靶场其思路为 dedecms 后台可以直接上传任意文件,可以通过⽂件管理器上传php文件获取webshell 登陆网站后台 步骤二:登陆到后台点击 【核心】 --》 【文件式…

1、Jmeter、jdk下载与安装

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

【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(二)

****非斜体正文为原文献内容(也包含笔者的补充),灰色块中是对文章细节的进一步详细解释! 3.1.2 基于注意力的解释(Attention-Based Explanation) 注意力机制可以揭示输入数据中各个部分之间的关系&#…