
Anaconda 常用命令
本文最后更新于 2024-08-15,文章内容可能已经过时。
😋前言
Anaconda 是一款强大的 pythn 包管理工具,利用 conda 命令可以自由管理 pyhon 库,能自动索引下载相关的依赖库
官方网站:Anaconda | The Operating System for AI
mini-forge:conda-forge/miniforge: A conda-forge distribution. (github.com)
个人更喜欢用 mini-forge
📝管理 conda 自身
查看 conda 版本
conda --version
查看 conda 的环境配置
conda config --show
设置镜像
conda 有时候安装软件会非常慢。设置国内镜像的话可以使安装更快捷一些。设置方法如下所示:
#设置清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
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/cloud/bioconda/
#设置bioconda
conda config --add channels bioconda
conda config --add channels conda-forge
#设置搜索时显示通道地址
conda config --set show_channel_urls yes
更新 conda
将 conda 自身更新到最新版本
conda update conda
更新 Anaconda 整体
将整个 Anaconda 都更新到确保稳定性和兼容性的最新版本
conda update Anaconda
查询某个命令的帮助
conda create --help
🏝️管理环境
Conda 允许你创建相互隔离的独立环境,这些环境被称之为虚拟环境
创建虚拟环境的同时安装必要的包
但是并不建议这样做,简化每一条命令的任务在绝大多数时候都是明智的(一个例外是需要反复执行的脚本)
conda create -n env_name numpy matplotlib python=3.10
查看有哪些虚拟环境
以下三条命令都可以。注意最后一个是」--」,而不是「-」.
conda env list
conda info -e
conda info --envs
激活虚拟环境
使用如下命令即可激活创建的虚拟环境。
conda activate env_name
退出虚拟环境
使用如下命令即可退出当前工作的虚拟环境。
conda activate
conda deactivate
删除虚拟环境
执行以下命令可以将该指定虚拟环境及其中所安装的包都删除。
conda remove --name env_name --all
如果只删除虚拟环境中的某个或者某些包则是:
conda remove --name env_name package_name
导出环境
很多的软件依赖特定的环境,我们可以导出环境,这样方便自己在需要时恢复环境,也可以提供给别人用于创建完全相同的环境。
#获得环境中的所有配置
conda env export --name myenv > myenv.yml
#重新还原环境
conda env create -f myenv.yml
📦包(Package)的管理
查询包的安装情况
查询看当前环境中安装了哪些包
conda list
查询当前 Anaconda repository 中是否有你想要安装的包
conda search package_name
当然与互联网的连接是执行这个查询操作乃至后续安装的前提条件.
查询是否有安装某个包
用 conda list 后跟 package 名来查找某个指定的包是否已安装,而且支持 * 通配模糊查找。
conda list pkgname
conda list pkgname*
包的安装和更新
在当前(虚拟)环境中安装一个包:
conda install package_name
也可以以以下命令安装某个特定版本的包 (以下例为安装 0.20.3 版本的 numpy):
conda install numpy=0.20.3
以下命令可将某个包更新到它的最新版本 :
conda update numpy
再当前(虚拟)环境中更新所有包:
conda update --all
安装包的时候可以指定从哪个 channel 进行安装,比如说,以下命令表示不是从缺省通道,而是从 conda_forge 安装某个包。
conda install pkg_name -c conda_forge
conda 卸载包
conda uninstall package_name
这样会将依赖于这个包的所有其它包也同时卸载。
如果不想删除依赖其当前要删除的包的其他包:
conda uninstall package_name --force
但是并不建议用这种方式卸载,因为这样会使得你的环境支离破碎,如以下(conda manual description 原文)所述:
一个直观的理解就是,如果一个包 A 被删除了,而依赖于它的包 B、C 等却没有删除,但是那些包其实也已经不可用了。另一方面,之后你又安装了 A 的新版本,而不幸的是,B、C 却与新版本的 A 不兼容因此依然是不可用的。
清理 anaconda 缓存
conda clean -p # 删除没有用的包 --packages
conda clean -t # 删除tar打包 --tarballs
conda clean -y -all # 删除所有的安装包及cache(索引缓存、锁定文件、未使用过的包和tar包)
关于清除命令的更详细的说明,可以执行以下命令进行查询:
conda clean -h
conda 就像个守财奴一样,把每个历史安装包都会好好保存。。。好处是可以很方便地恢复到旧的历史版本,坏处是占内存空间。。。前两天由于安装一个新的包,系统报告「CondaMemoryError: The conda process ran out of memory. Increase system memory and/or try again.」,执行 "conda -y -all" 清除了约 30G 的空间!
🎏Python 版本的管理
除了上面在创建虚环境时可以指定 python 版本外,Anaconda 基环境的 python 版本也可以根据需要进行更改。
将版本变更到指定版本
conda install python=3.5
更新完后可以用以下命令查看变更是否符合预期。
python --version
将 python 版本更新到最新版本
如果你想将 python 版本更新到最新版本,可以使用以下命令:
conda update python
⚙️conda configuration
conda 的配置文件为 ".condarc",该文件在安装时不是缺省存在的。但是当你第一次运行 conda config 命令时它就被自动创建了。".condarc" 配置文件遵循简单的 YAML 语法。
".condarc" 文件在哪儿?
conda info
Channel 管理
追加 conda-forge channel:
conda config --add channels conda-forge
移除 conda-forge channel:
conda config --remove channels conda-forge
查询当前配置中包含哪些 channels
conda config --get channels