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
相关推荐
一点媛艺2 小时前
Kotlin函数由易到难
开发语言·python·kotlin
魔道不误砍柴功3 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
_.Switch4 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
测开小菜鸟5 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
萧鼎6 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸6 小时前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农6 小时前
Python 继承、多态、封装、抽象
开发语言·python
Python大数据分析@7 小时前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树7 小时前
简单的签到程序 python笔记
笔记·python
Shy9604187 小时前
Bert完形填空
python·深度学习·bert