conda常用命令之–虚拟环境管理

    • 1. 创建环境
      • 1.1 使用命令创建环境
      • 1.2 生成及从 environment.yml 文件创建环境
    • 2. 激活与退出环境
    • 3. 升级包或环境
    • 4. 环境重命名
    • 5. 克隆环境
    • 6. 删除环境
    • 7. 回滚到历史版本

conda是一个强大的Python包管理和环境管理工具,它可以帮助我们轻松地安装、更新、卸载和切换不同版本的Python和各种第三方库。如果你是一个Python初学者,或者想要提高你的Python编程效率,那么掌握conda的基本命令是非常必要的。本文将介绍conda环境管理的常用命令,包括如何创建、激活、重命名、删除虚拟环境。通过本文,你将能够使用conda为不同的项目创建不同的环境,避免各种依赖冲突和版本问题。

1. 创建环境

默认情况下,环境会安装在 conda 目录下的 envs 目录中。运行 conda create --help 以获取有关指定不同路径的信息。

请使用终端或 Anaconda Prompt 执行以下步骤:

1.1 使用命令创建环境

创建一个默认环境

要创建环境,执行:

conda create --name env_name -y

env_name 替换为自己想要的环境名字

其中,-y 意味着遇到询问直接回复y--name 可以简写为 -n

conda create --n env_name -y

这将在conda目录里的/envs/ 中创建 env_name 环境。此环境中未安装任何软件包。

指定Python版本

conda create --n env_name python=3.9 -y

带有特定包

要创建使用特定包的环境,执行:

conda create --n env_name scipy -y

或者创建后指定环境安装:

conda create -n env_name pythonconda install -n env_name scipy

带有特定版本的包

要创建使用特定版本的包的环境,请执行:

conda create --n env_name scipy=0.17.3 -y

或者创建环境后,指定此环境安装:

conda create -n env_name python -yconda install -n env_name scipy=0.17.3 -y

混合上述要求

要创建一个使用特定 Python 版本和多个包的环境,执行:

conda create -n env_name python=3.9 scipy=0.17.3 astroid babel -y

一次性安装所有需要的包会减少依赖性冲突的可能性,因为 Conda 可以一次性解决所有依赖关系,找到满足所有包要求的兼容版本。推荐一次性列出所有需要安装的包,而不是一次安装一个包。

不安装默认

每次创建新环境时,conda会自动安装 pip 或其他程序。如果您不想在特定环境中安装默认包,请使用 --no-default-packages 参数:

conda create --no-default-packages -n env_name python -y

这将创建一个名为env_name 的新环境,而不安装任何默认包。

1.2 生成及从 environment.yml 文件创建环境

environment.yml 文件创建环境:

conda env create -f environment.yml 

要手动创建一个environment.yml文件,可以参考: Creating an environment file manually

如果想通过现在的环境导出yml文件

conda env export > environment.yml 

验证新环境是否正确安装:

conda env list## 或者conda info --envs

如果配置好一个环境,并且很有可能以后需要在其他电脑也进行同样的配置,可以通过 environment.yml 文件来快速配置。

2. 激活与退出环境

激活某个环境:

conda activate env_name

退出现在激活的环境:

conda deactivate

3. 升级包或环境

升级某个包直接执行:

conda update <package_name> -y## 指定某个环境conda update -n env_name <package_name> -y##例如conda update -n sci_env scipy -y ## sci_env为存在的某个环境

如果想升级环境中的所有包:

conda update --all -y

如果 environment.yml 文件中的任何内容发生变化,只需更新 environment.yml 文件,然后运行:

conda env update -f environment.yml --prune -y

--prune 选项会让 conda 从环境中删除不再需要的依赖项。

4. 环境重命名

conda现在可以直接通过rename重命名环境名称:

conda rename -n old_name new_name

5. 克隆环境

可以通过创建环境的克隆来创建环境的准确副本:

conda create --name new_env_name--clone old_env_name # new_env_name 为新环境的名称# old_env_name 为被克隆的环境名称

6. 删除环境

要删除环境,在终端窗口或 Anaconda Prompt 中运行:

conda remove --n env_name --all -y

或者:

conda env remove --name env_name -y

7. 回滚到历史版本

如果我们对某个环境进行了新的配置,结果出现了问题,想回滚到历史的某个版本,可以依次执行:

查看conda更新历史:

conda list --revision

会列出每次更新的版本及对应的安装包

执行回滚:

conda install --revision n

例如: