在anaconda虚拟环境和activate/dectivate/remove的使用之间切换



我目前安装了miniconda和一个virtualenvironment+基本环境。

conda env list
# conda environments:
#
base                  *  /home/alex/miniconda3
machinelearning          /home/alex/miniconda3/envs/machinelearning

正如星号所示,我正在使用基本环境。为了移动到machinelearning环境,我需要再次activate环境吗?这应该是切换到machinelearning的命令吗?conda activate machinelearning。我需要先从基地deactivate吗?我也不明白deactivateremove在环境中的区别。

我阅读了关于管理环境的anaconda文档https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#sharing-一个环境,但没有找到任何解释差异的东西。

当您打开powershell时,您将处于默认的powershell窗口:PS C:Userssome_user>

然后,如果您键入conda activate base,您将看到以下行:(base) PS C:Userssome_user

现在您已进入conda默认提供的基本环境。如果您想切换到另一个环境,只需在基本环境中键入:conda activate myenv即可。

(base) PS C:Userssome_user> conda activate myenv
(myenv) PS C:Userssome_user> 

现在,当您停用myenv时,它将返回base环境。

(myenv) PS C:Userssome_user> conda deactivate
(base) PS C:Userssome_user> conda deactivate
PS C:Userssome_user>

激活环境对于在环境运行良好。激活包含两个主要功能:将条目添加到环境的PATH中并运行任何激活环境可能包含的脚本。这些激活脚本是包如何设置任意环境变量它们的操作所必需的。您还可以使用配置API来设置环境变量。(https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)

当您在一个环境中时,可以访问该环境中的包。从环境切换或停用时,powershell将无法访问特定于该环境的程序包。

删除环境时,意味着从计算机中永久删除环境以及属于该环境的所有程序包。

PS C:Userssome_user> conda remove --name myenv --all
Remove all packages in environment C:Userssome_user.condaenvsmyenv:
No packages found in C:Userssome_user.condaenvsmyenv. Continuing environment removal

最新更新