conda基础操作手册

操作conda的基础命令

Posted by Winchell.Wang on July 13, 2024

打开Anaconda PromptAnaconda Powershell Prompt后,即可在命令行窗口里使用conda命令,默认会进入到base环境。

conda命令可以用来管理和部署应用(applications)、环境(environments)和包(packages)。

conda is a tool for managing and deploying applications, environments and packages.

帮助手册

conda -h

该命令是conda命令帮助手册,通过conda -h我们可以知晓conda所支持的子命令。

(base) C:\Users\admin>conda -h

conda常用的子命令有env, create, list, install, remove, update, activate, deactivate等。

如果想了解每个子命令怎么使用,可以使用如下命令(以create子命令为例)

(base) C:\Users\admin>conda create -h

查看版本

conda -V

该命令用于获取conda的版本号,等同于conda --version

(base) C:\Users\admin>conda -V
conda 4.12.0

(base) C:\Users\admin>conda --version
conda 4.12.0

列出环境

conda env list

该命令用于展示当前已有的环境。命令执行结果里,第一列是环境名称,第二列是环境所在的路径。

(base) C:\Users\admin>conda env list

# conda environments:
#

base                  *  C:\Users\jczha\Anaconda3
test_no_pandas           C:\Users\admin\Anaconda3\envs\test_no_pandas
test_pandas              C:\Users\admin\Anaconda3\envs\test_pandas

每次打开Anaconda Prompt的时候,默认会进入到base环境。

(base) C:\Users\admin>conda env list最前面的(base)就表示当前处于base环境。

创建新环境

conda create

该命令用于创建新的环境。

  • conda create -n env_name

    创建名为env_name的新环境,这个环境里没有python以及任何python的包。-nn表示name。

  • conda create -n env_name python=3.x

    创建名为env_name的新环境,并且在这个新环境安装版本为3.x的python。

    注意:全新环境默认是没有装pandas等数据分析库的,只有ca-certificates到wincertstore等基本库。

(test_pandas) C:\Users\admin>conda create -n test_create python=3.9

Collecting package metadata (current_repodata.json): done

Solving environment: done
## Package Plan ##
  environment location: C:\Users\admin\Anaconda3\envs\test_create
  added / updated specs:
    - python=3.9

The following NEW packages will be INSTALLED:
  ca-certificates    pkgs/main/win-64::ca-certificates-2022.4.26-haa95532_0
  certifi            pkgs/main/win-64::certifi-2021.10.8-py39haa95532_2
  openssl            pkgs/main/win-64::openssl-1.1.1o-h2bbff1b_0
  pip                pkgs/main/win-64::pip-21.2.4-py39haa95532_0
  python             pkgs/main/win-64::python-3.9.12-h6244533_0
  setuptools         pkgs/main/win-64::setuptools-61.2.0-py39haa95532_0
  sqlite             pkgs/main/win-64::sqlite-3.38.3-h2bbff1b_0
  tzdata             pkgs/main/noarch::tzdata-2022a-hda174b7_0
  vc                 pkgs/main/win-64::vc-14.2-h21ff451_1
  vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.27.29016-h5e58377_2
  wheel              pkgs/main/noarch::wheel-0.37.1-pyhd3eb1b0_0
  wincertstore       pkgs/main/win-64::wincertstore-0.2-py39haa95532_2
  • conda create --clone exist_env_name -n new_env_name

    克隆已有环境exist_env_name到新环境new_env_name,新环境new_env_name的python版本和python库与被clone的环境exist_env_name保持一致。

切换环境

conda activate

该命令用于切换到新环境。

conda activate [-h] [--[no-]stack] [env_name_or_prefix]

一般activate后面跟的是环境名称,示例如下:

(base) C:\Users\admin>conda activate test_no_pandas

(test_no_pandas) C:\Users\admin>conda activate test_pandas

(test_pandas) C:\Users\admin>

退出环境

conda deactivate

该命令用于退出当前环境到上一级环境,和栈的逻辑一样。

比如我们按照base -> env1 -> env2的顺序切换环境,从base环境切换到env1环境,然后从env1环境切换到env2环境。

那在env2环境下执行conda deactivate会退出env2环境,进入env1环境。

接着在env1环境下执行conda deactivate会退出env1环境,进入base环境。

在base环境下执行conda deactivate会退出base环境,进入到cmd原始环境,

(base) C:\Users\admin>conda deactivate

C:\Users\admin>

已安装库

conda list

该命令用于展示当前环境下的包(packages),有时候想要查看当前环境是否有安装某个包时,可以使用该命令。

(test_no_pandas) C:\Users\admin>conda list

# packages in environment at C:\Users\jczha\Anaconda3\envs\test_no_pandas:
#
# Name                    Version                   Build  Channel
bzip2                     1.0.8                he774522_0
ca-certificates           2022.4.26            haa95532_0
certifi                   2020.6.20          pyhd3eb1b0_3
libffi                    3.4.2                h604cdb4_1
openssl                   1.1.1o               h2bbff1b_0
pip                       21.2.4          py310haa95532_0
python                    3.10.4               hbb2ffb3_0
setuptools                61.2.0          py310haa95532_0
sqlite                    3.38.3               h2bbff1b_0
tk                        8.6.11               h2bbff1b_1
tzdata                    2022a                hda174b7_0
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.37.1             pyhd3eb1b0_0
wincertstore              0.2             py310haa95532_2
xz                        5.2.5                h8cc25b3_1
zlib                      1.2.12               h8cc25b3_2

安装新库

conda install

该命令用于给指定环境安装包。

  • conda install -n myenv scipy

    给指定环境myenv安装scipy包。

  • conda install scipy

    在当前环境安装scipy。

更新库

conda update

该命令用于给指定环境更新包到最新的兼容版本。

  • conda update -n myenv scipy

    更新指定环境myenv的scipy包到最新版本。

  • conda update -n myenv scipy --no-update-deps

    在避免升级scipy依赖包的条件下,更新指定环境myenv的scipy包到最新版本。

  • conda update -n myenv --all

    更新指定环境myenv的所有包到最新版本。

  • conda update scipy

    更新当前环境的scipy包到最新版本。

删除库/环境

conda remove

该命令用于删除指定环境的指定包或者所有包,如果使用--all移除所有包,那这个环境也被删除了。

  • conda remove -n myenv scipy

    移除myenv这个环境下的scipy包。

  • conda remove -n myenv --all

    移除myenv环境。

  • conda env remove -n myenv

    移除myenv环境。

参考资料

  1. conda开源地址
  2. Anaconda完全入门指南
  3. jincheng9/python-tutorial