Conda 使用教程大全来啦

什么是 Conda?

Conda 是一款功能强大的软件包管理器和环境管理器,您可以在 Windows 的 Anaconda 提示符或 macOS 或 Linux 的终端窗口中使用命令行命令

  • Conda 可以快速安装、运行和更新软件包及相关依赖项。
  • Conda 可以在本地计算机上创建、保存、加载和切换特定项目的软件环境。

Conda/Miniconda/Anaconda三者的区别

下面通过一张图,形象的展示了 Conda 环境和软件包管理工具与 Miniconda 和 Anaconda Python 发行版(注:Anaconda Python 发行版现在有超过 150 个额外的软件包!)之间的区别。
在这里插入图片描述

安装 Miniconda

  • Windows 、Mac 系统直接下载安装,下载安装教程见:https://docs.conda.io/en/latest/miniconda.html
  • Linux 系统通过命令行安装,下载安装教程见:https://docs.conda.io/projects/conda/en/stable/user-guide/install/linux.html

常用conda命令

这里主讲解在Linux系统下的使用。

1:Linux环境安装Conda

MacOS和Windows安装Conda的方法都非常简单,可以直接使用图形化界面安装。下面介绍一下Linux下的安装方式:

# 下载conda 如果要安装其他的版本可以在清华大学源找到对应的安装包
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

Linux下Conda的安装包是一个sh脚本,下载后只需要授权安装即可。

# 授权
chmod +x Miniconda3-py39_4.12.0-Linux-x86_64.sh 
# 安装
./Miniconda3-latest-Linux-x86_64.sh

安装的过程中会提示同意安装协议等,一路yes就ok。安装完成后,会发现conda命令无法正常使用,这里要注意,需要执行如下命令才能生效:

vim ~/.bashrc
加入如下内容:
export PATH=/root/miniconda3/bin:$PATH

执行以下命令:
source ~/.bashrc

2:初始化 Conda

正常情况下安装完成后会提示是否将 Conda 默认启动配置到终端设置中,这样可以在开启新的终端时自动进入 conda 环境。如果不小心跳过了可以使用下面的方式手动进行初始化:

conda init bash
source ~/.bashrc

如果配置成功,终端开头应该会像下面这样显示,

(base) $

2:更新 Conda

codna update conda

3:卸载 Conda

  1. 去除终端配置中 Conda 相关的内容
 conda init --reverse bash
  1. 删除整个 ~/miniconda3 目录
 rm -rf ~/miniconda3
  1. 删除整个 ~/.conda 目录
 rm -rf ~/.conda
  1. 删除 Conda 配置文件
 rm ~/.condarc

4:Conda 包管理

  1. 安装
 conda install matplotlib
  1. 查看已安装的包
 conda list
  1. 更新包
 conda update 包名
  1. 删除包
 conda remove 包名

5:Python 版本管理

  1. 列出可安装的 Python 版本
 conda search python
  1. 创建指定 Python 版本的环境
conda create -n test python=3.8
  1. 激活环境
conda activate test
  1. 退出当前环境(返回 base 环境)
conda activate
  1. 列出所有环境
conda env list
  1. 删除环境
 conda env remove  -n test

6:Conda 项目迁移

在进行协作研究项目时,你的操作系统通常可能与协作者使用的操作系统不同。同样,服务器操作系统可能与本地计算机上使用的操作系统不同。在这些情况下,创建与操作系统无关的环境文件非常有用,可以与协作者共享该文件或用于在远程群集上重新创建环境。

  1. 导出环境
# 相同系统 
conda env export --name test --file environment.yml

# 跨平台 
conda env export --name machine-learning-env --from-history --file environment.yml
  1. 创建环境
conda env create --prefix ./env --file environment.yml
  1. 更新环境
 conda env update --prefix ./env --file environment.yml --prune
  1. 重建环境
conda env create --prefix ./env --file environment.yml --force

*7:创建Conda环境

使用conda可以在电脑上创建很多套相互隔离的Python环境,命令如下:

# 语法
conda create --name <env_name> python=<version> [package_name1] [package_name2] [...]
# 样例 创建一个名为PaddleOCR的环境,python版本为3.7
conda create --name PaddleOCR python=3.7

8:切换Conda环境

前面说到Conda可以创建多套相互隔离的Python环境,使用conda activate env_name可以切换不同的环境。

# 语法
conda activate env_name
# 样例 切换到PaddleOCR环境
conda activate PaddleOCR

如果要退出此环境,回到基础环境 可以使用如下命令

# 退出当前环境
conda deactivate

9:查看电脑上已安装的Conda环境

当电脑上安装了很多台Conda环境的时候,可以使用conda env list命令查看所有已创建的Conda环境。

# 查看当前电脑上所有的conda环
conda env list

10:删除某个Conda环境

如果某个环境不需要了,可以使用conda remove命令移除环境,语法如下:

# 语法
conda remove --name <env_name> --all
# 样例
conda remove --name PaddleOCR --all

如果只是想删除环境里的某个依赖,可以使用如下命令

# 语法
conda remove --name <env_name> <package_name>

# 样例
conda remove --name PaddleOCR requests

11:使用Conda安装依赖包

使用conda list命令可以查看当前环境已经安装了哪些依赖包。

# 查看当前conda环境安装的所有依赖包
conda list

如果要安装新的依赖包,可以使用conda install lib安装新的依赖包。

# 语法
conda install lib
# 样例
conda install requests

12:导出Conda环境

如果要将Conda环境迁移,可以使用conda list --explicit > /path/env.txt命令一次性将环境内的包导出。

# 语法&样例
conda list --explicit > /opt/env.txt

导入:

# 语法&样例
conda install --file /opt/env.txt

13:设置不默认打开conda

安装Conda后,每次打开终端都会有一个(base)这是因为默认进入了conda的base环境,设置不自动进入conda的base环境命令如下:

conda config --set auto_activate_base false

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

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

相关文章

ubuntu22.04 docker安装ES8

创建es的网络 docker network create elastic安装运行es docker run --name es01 --net elastic -p 9200:9200 -e ES_JAVA_OPTS"-Xms1024m -Xmx1024m" -idt elasticsearch:8.2.2检查是否安装成功 sunyuhuasunyuhua-HKF-WXX:~$ docker ps CONTAINER ID IMAGE …

2023陇剑杯线上线下赛数据分析

好久没打过比赛了&#xff0c;对于这种偏蓝方的比赛我还是很喜欢 本文首发于&#xff1a;先知社区&#xff1a;https://xz.aliyun.com/t/13177 HW hard web_1 题目内容&#xff1a;服务器开放了哪些端口&#xff0c;请按照端口大小顺序提交答案&#xff0c;并以英文逗号隔开(如…

UE虚幻引擎项目更改名字怎么操作?

首先找到项目目录&#xff0c;直接更改项目程序的名字&#xff0c;其次点击项目程序右击使用文本打开&#xff0c;然后将Modules模块中的内容删除即可&#xff0c;然后运行程序就好啦&#xff01;

【LeetCode刷题】--172.阶乘后的零

172.阶乘后的零 方法&#xff1a; class Solution {public int trailingZeroes(int n) {int ans 0;for(int i 5;i<n;i5){for(int x i; x % 50; x/5){ans;}}return ans;} }进一步优化&#xff1a; class Solution {public int trailingZeroes(int n) {int ans 0;while (n…

主动学习与弱监督学习

人工智能数据的获取没有想象中的那么简单&#xff0c;虽然我们早已身处大数据的浪潮下&#xff0c;很多公司在获取数据的大浪中翻滚却始终没有找到一个合适的获取数据的渠道。很多情况下&#xff0c;获取高质量的人工智能数据需要消耗大量的人力、时间、金钱&#xff0c;但是对…

【移动通讯】【MIMO】[P1]【科普篇】

前言&#xff1a; 前面几个月把CA 的技术总体复盘了一下,下面一段时间 主要结合各国一些MIMO 技术的文档,复盘一下MIMO. 这篇主要参考华为&#xff1a; info.support.huawei.com MIMO 技术使用多天线发送和接受信号。主要应用在WIFI 手机通讯等领域. 这种技术提高了系统容量&…

mysql的负向条件查询会不会使用索引

mysql的负向条件查询&#xff0c;例如not in&#xff0c;会不会使用索引&#xff1f; 其实&#xff0c;mysql还是会尽量利用索引。如果查询的列上有索引&#xff0c;并且索引能够覆盖查询所需的列&#xff0c;那么mysql可能会使用索引来获取结果&#xff0c;而不是进行全表扫描…

解决设备能耗管理问题,易点易动来帮忙!

设备能耗管理是现代企业可持续发展的重要环节&#xff0c;然而&#xff0c;许多企业在设备能耗管理方面面临一系列问题&#xff1a; 能耗数据收集困难&#xff1a;企业需要监控和管理大量设备的能耗情况&#xff0c;但传统的手动方式收集能耗数据耗时耗力&#xff0c;无法实时获…

C语言-WIN32API介绍

Windows API 从第一个32位的Windows开始就出现了&#xff0c;就叫做Win32API.它是一个纯C的函数库&#xff0c;就和C标准库一样&#xff0c;使你可以写Windows应用程序过去很多Windows程序是用这个方式做出来的 main()? main()成为C语言的入口函数其实和C语言本身无关&…

Java中常见需要重写equals方法的类

目录 导言 一、自定义类 二、集合类 三、字符串类 四、数组类 五、枚举类 结论 导言 在Java编程中&#xff0c;equals方法是用来比较两个对象是否相等的关键方法之一。然而&#xff0c;在某些情况下&#xff0c;Java提供的默认equals方法可能无法满足我们的需求。因此&a…

《地理信息系统原理》笔记/期末复习资料(11. GIS的输出与地图可视化)

目录 11. GIS的输出与地图可视化 11.1. GIS的输出 11.1.1. 输出方式 11.1.2. GIS的图形输出设备 11.2. 地图符号 11.2.1. 地图符号的实质 11.2.2. 地图符号的分类 11.2.3. 地图符号的设计要求 11.3. 专题信息表达 11.3.1. 专题地图的基本概念 11.3.2. 专题地图的表示…

Esxi虚拟机无法添加加密狗处理

原创作者&#xff1a;运维工程师 谢晋 Esxi虚拟机无法添加加密狗处理 前提纪要添加直通模式 前提纪要 客户将加密狗插在Esxi主机上&#xff0c;并给虚拟机添加USB控制器再添加加密狗设备&#xff0c;但添加时候报错无法识别加密狗&#xff08;如下图&#xff09;&#xff0…

一个文件下png,jpg,jpeg,bmp,xml,json,txt文件名称排序命名

#utf-8 #authors 会飞的渔WZH #time:2023-12-13 import os# 要修改的图像所在的文件夹路径 root_path rD:\images\lines2\3 # 要修改的图像所在的文件夹路径filelist os.listdir(root_path) #遍历文件夹 print(len(filelist)) i0for item in filelist:if item.endswith(.…

HarmonyOS应用开发初体验

9月25日华为秋季全场景新品发布会上&#xff0c;余承东宣布&#xff0c;全面启动鸿蒙原生应用&#xff0c;HarmonyOS NEXT开发者预览版将在2024年第一季度面向开发者开放。 最近鸿蒙开发可谓是火得一塌糊涂&#xff0c;各大培训平台都开设了鸿蒙开发课程。美团发布了鸿蒙高级工…

_try_finally原理探究后续

入口程序的最后一道防线 这里调用mainCRTStartup()&#xff0c;然后调用入口程序 相当于这里才是一个进程开始执行的地方 这里有一个call调用&#xff0c;跟进去看看 发现有修改fs:[0]的操作&#xff0c;这里就相当于编译器为我们注册了一个异常处理函数 这里到kernel32.dll里面…

OpenCV-Python16:图像平滑操作

目录 图像平滑基础 本文目标 2D卷积 图像模糊&#xff08;图像平滑&#xff09; 平均模糊 高斯模糊 中值模糊 双边滤波 图像平滑基础 在尽量保留图像原有信息的情况下&#xff0c;过滤掉图像内部的噪声&#xff0c;这一过程称为对图像的平滑处理&#xff0c;所得的图像…

leetcode--3. 无重复字符的最长子串[滑动窗口\哈希表 c++]

原题 &#xff1a; 3. 无重复字符的最长子串 - 力扣&#xff08;LeetCode&#xff09; 题目解析&#xff1a; 最长子串可以用滑动窗口解决&#xff0c;无重复字符可以使用哈希表解决。 算法原理&#xff1a; 滑动窗口哈希表 哈希表作为一个数组存放每个字符出现的次数。 …

C#云LIS系统源码 B/S架构,SaaS模式,可扩展性强

基于B/S架构的云LIS检验系统源码&#xff0c;整个系统的运行基于WEB层面&#xff0c;只需要在对应的工作台安装一个浏览器软件有外网即可访问。全套系统采用云部署模式&#xff0c;部署一套可支持多家医院检验科共同使用。 采用.Net Core新的技术框架、DEV报表、前端js封装、分…

数学learning

目录 移动平均 简单移动平均 加权移动平均 指数移动平均 矩阵求导 矩阵对标量求导 Matrix-by-scalar 标量对矩阵求导 Scalar-by-matrix 参考博客 移动平均 优化算法里面会涉及到一个知识点&#xff1a;指数移动平均。 但是为了知识的完整性&#xff0c;这里会将常见的移动…

【Mars3d】关于locationBar等控件的css样式冲突处理问题

【Mars3d】关于locationBar等控件的css样式冲突处理问题 问题场景&#xff1a; 1.通过代码加载new mars3d.control.Zoom(或者通过地球map初始化配置 option.control {加载放大缩小工具控件的时候&#xff0c;出现图标的样式冲突效果&#xff1a; 2.sceneModePicker&#xf…