conda是一个强大的Python包管理和环境管理工具,它可以帮助我们轻松地安装、更新、卸载和切换不同版本的Python和各种第三方库。如果你是一个Python初学者,或者想要提高你的Python编程效率,那么掌握conda的基本命令是非常必要的。本文将介绍conda环境管理的常用命令,包括如何创建、激活、重命名、删除虚拟环境。通过本文,你将能够使用conda为不同的项目创建不同的环境,避免各种依赖冲突和版本问题。
默认情况下,环境会安装在 conda 目录下的
envs
目录中。运行conda create --help
以获取有关指定不同路径的信息。
请使用终端或 Anaconda Prompt 执行以下步骤:
创建一个默认环境
要创建环境,执行:
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 python
conda install -n env_name scipy
带有特定版本的包
要创建使用特定版本的包的环境,请执行:
conda create --n env_name scipy=0.17.3 -y
或者创建环境后,指定此环境安装:
conda create -n env_name python -y
conda 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
的新环境,而不安装任何默认包。
从 environment.yml
文件创建环境:
conda env create -f environment.yml -y
如何想手动创建一个environment.yml
文件,可以参考: Creating an environment file manually
如果想通过现在的环境导出yml文件
conda env export > environment.yml -y
验证新环境是否正确安装:
conda env list
## 或者
conda info --envs
如果配置好一个环境,并且很有可能以后需要在其他电脑也进行同样的配置,可以通过 environment.yml
文件来快速配置。
激活某个环境:
conda activate env_name
退出现在激活的环境:
conda deactivate
升级某个包直接执行:
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 从环境中删除不再需要的依赖项。
conda现在可以直接通过rename
重命名环境名称:
conda rename -n old_name new_name
可以通过创建环境的克隆来创建环境的准确副本:
conda create --name new_env_name--clone old_env_name
# new_env_name 为新环境的名称
# old_env_name 为被克隆的环境名称
要删除环境,、在终端窗口或 Anaconda Prompt 中运行:
conda remove --n env_name --all -y
或者:
conda env remove --name env_name -y
如果我们对某个环境进行了新的配置,结果出现了问题,想回滚到历史的某个版本,可以依次执行:
查看conda更新历史:
conda list --revision
会列出每次更新的版本及对应的安装包
执行回滚:
conda install --revision N
例如: