Conda 使用教程大全来啦

什么是 Conda?

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

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

Conda/Miniconda/Anaconda三者的区别

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

安装 Miniconda

常用conda命令

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

1:Linux环境安装Conda

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

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

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

bash 复制代码
# 授权
chmod +x Miniconda3-py39_4.12.0-Linux-x86_64.sh 
# 安装
./Miniconda3-latest-Linux-x86_64.sh

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

bash 复制代码
vim ~/.bashrc
加入如下内容:
export PATH=/root/miniconda3/bin:$PATH

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

2:初始化 Conda

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

bash 复制代码
conda init bash
source ~/.bashrc

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

bash 复制代码
(base) $

2:更新 Conda

bash 复制代码
codna update conda

3:卸载 Conda

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

4:Conda 包管理

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

5:Python 版本管理

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

6:Conda 项目迁移

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

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

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

*7:创建Conda环境

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

bash 复制代码
# 语法
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可以切换不同的环境。

bash 复制代码
# 语法
conda activate env_name
# 样例 切换到PaddleOCR环境
conda activate PaddleOCR

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

bash 复制代码
# 退出当前环境
conda deactivate

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

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

bash 复制代码
# 查看当前电脑上所有的conda环
conda env list

10:删除某个Conda环境

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

bash 复制代码
# 语法
conda remove --name <env_name> --all
# 样例
conda remove --name PaddleOCR --all

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

bash 复制代码
# 语法
conda remove --name <env_name> <package_name>

# 样例
conda remove --name PaddleOCR requests

11:使用Conda安装依赖包

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

bash 复制代码
# 查看当前conda环境安装的所有依赖包
conda list

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

bash 复制代码
# 语法
conda install lib
# 样例
conda install requests

12:导出Conda环境

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

bash 复制代码
# 语法&样例
conda list --explicit > /opt/env.txt

导入:

bash 复制代码
# 语法&样例
conda install --file /opt/env.txt

13:设置不默认打开conda

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

bash 复制代码
conda config --set auto_activate_base false
相关推荐
大懒猫软件3 小时前
如何运用python爬虫获取大型资讯类网站文章,并同时导出pdf或word格式文本?
python·深度学习·自然语言处理·网络爬虫
XianxinMao4 小时前
RLHF技术应用探析:从安全任务到高阶能力提升
人工智能·python·算法
查理零世5 小时前
【算法】经典博弈论问题——巴什博弈 python
开发语言·python·算法
汤姆和佩琦6 小时前
2025-1-21-sklearn学习(43) 使用 scikit-learn 介绍机器学习 楼上阑干横斗柄,寒露人远鸡相应。
人工智能·python·学习·机器学习·scikit-learn·sklearn
HyperAI超神经6 小时前
【TVM教程】为 ARM CPU 自动调优卷积网络
arm开发·人工智能·python·深度学习·机器学习·tvm·编译器
缺的不是资料,是学习的心7 小时前
使用qwen作为基座训练分类大模型
python·机器学习·分类
Zda天天爱打卡8 小时前
【机器学习实战中阶】使用Python和OpenCV进行手语识别
人工智能·python·深度学习·opencv·机器学习
martian6658 小时前
第19篇:python高级编程进阶:使用Flask进行Web开发
开发语言·python
gis收藏家8 小时前
利用 SAM2 模型探测卫星图像中的农田边界
开发语言·python
YiSLWLL8 小时前
Tauri2+Leptos开发桌面应用--绘制图形、制作GIF动画和mp4视频
python·rust·ffmpeg·音视频·matplotlib