1、查看Conda环境
conda env list
# 或
conda info --envs
在输出结果中,带星号的为当前激活的环境,base
环境是安装 Miniconda 时自动创建的默认环境,也称为基础环境(Base Environment),提供 Conda 命令和基础 Python 支持。在实际使用中,应保持 base
纯净,通过独立环境管理项目依赖。
一般情况下,base环境应该是标准 Conda base
环境,但是不知道为何我的CMD打开是ArcGIS Pro的conda环境,而Powershell 查看环境时Base环境时标准的conda base环境,并且我以前也尝试修改CMD的base环境并没有成功。
所以我推荐使用Powershell来运行conda命令。
2、创建与激活环境
首先创建conda环境,创建的conda环境默认被存储在路径:C:\Users\用户名\miniconda\envs,在这个路径下创建的环境能够直接使用新环境名来激活环境。但是如果是使用--prefix
在某个自定义路径下创建新环境,那么就不能使用环境名激活,只能使用路径+环境名的方式激活。因此很多时候有限推荐使用 --name
创建在默认位置。
conda create --name 新环境名 python=3.12
# 这里使用--name(或者-n)指定新环境名,指定python版本
# 如果未指定保存路径,往往是在默认的路径下:C:\Users\用户名\miniconda\envs
# 自定义新环境的安装路径
conda create --prefix /自定义路径/新环境名 python=3.12
在创建环境的过程中,需要链接网络下载相关的文件,在安装过程中还需要输入Y来确认进程。如果是国内网络的话,一般是需要设置镜像源的,比如常用的清华镜像源;设置conda镜像源的代码为:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# 检查镜像(查看镜像源列表)
conda config --get channels
创建环境后,如果是需要使用某一个特定的conda环境,则需要激活某一个环境。
# 激活默认存储路径下的环境
conda activate 环境名
# 激活非默认路径下的环境
conda activate 路径/环境名
3、安装、更新、删除包
如需在某个环境下安装或更新包,需要首先激活某一个环境,在激活该环境后,使用如下代码安装包:
# 例如安装numpy包
conda install numpy
更新包:
conda update numpy # 更新numpy
conda update --all # 更新环境下的所有包
但是相比于更新包,更加推荐先执行更新conda自身,先更新Conda以避免依赖冲突。
conda update -n base -c defaults conda
# 更新前后检查conda版本
conda --version
# 安装特定版本
conda install -n base -c defaults conda=24.1.0
# 最小化更新(仅安全补丁)
conda update -n base -c defaults conda --update-deps
删除包可以删除特定的包:
conda remove package_name # 如 conda remove numpy
也可以清理不适用的包缓存:
conda clean --all # 删除所有缓存(-a)
或
conda clean -p # 仅删除未关联的包缓存
需要注意的是,这里的清理是清理 Conda 的全局缓存和临时文件。这些缓存是独立于任何具体环境的,属于整个 Conda 安装的共享资源,常用的参数如下:
命令 | 作用 |
---|---|
conda clean -p | 删除未使用的包(交互式确认) |
conda clean -p --dry-run | 预览将被删除的包(不实际执行) |
conda clean -p -y | 直接删除(跳过确认) |
conda clean -a | 全面清理(包含包+tarballs+索引缓存) |
4、删除、克隆某个conda环境
如果要删除当前环境,首先要退出当前的环境:
conda deactivate # 退出当前环境
删除默认存储路径下的conda环境比较简单,代码如下:
conda env remove -n 环境名
如果要删除自定义路径下的conda环境,是需要添加参数和路径,代码如下:
# 方法1:使用 --prefix 参数
conda env remove --prefix "自定义路径/环境名"
# 方法2:使用 -p 简写
conda env remove -p "自定义路径/环境名"
如果是由于默认的C盘空间不足,需要将某一个环境挪到D盘另一个路径下,不需要删除新建环境,可以通过克隆环境的方式,例如将默认环境下的gdal环境克隆到D盘,克隆环境不需要再下载文件,速度会快不少。
# 克隆环境
conda create -p D:/GISLearn/GDALLearn/gdal --clone gdal
# 克隆后查看环境
conda env list
# 删除原C盘下GDAL环境
此外,还可以通过导出环境配置的方式,根据配置文件来创建环境:
# 导出环境配置
conda env export > environment.yml
# 环境重建
conda env create -f environment.yml