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

switch between anaconda virtual environments and uses of activate/deactivate/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-an-environment,但没有找到任何解释差异的内容。

当您打开 powershell 时,您将使用默认的 powershell window:PS C:\Users\some_user>

然后,如果您输入 conda activate base,您将看到以下行:(base) PS C:\Users\some_user

现在你处于conda默认的基础环境中。如果您想切换到另一个环境,您只需在基本环境中键入:conda activate myenv

(base) PS C:\Users\some_user> conda activate myenv
(myenv) PS C:\Users\some_user> 

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

(myenv) PS C:\Users\some_user> conda deactivate
(base) PS C:\Users\some_user> conda deactivate
PS C:\Users\some_user>

Activating environments is essential to making the software in the environments work well. Activation entails two primary functions: adding entries to PATH for the environment and running any activation scripts that the environment may contain. These activation scripts are how packages can set arbitrary environment variables that may be necessary for their operation. You can also use the config API to set environment variables. (https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)

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

当您删除一个环境时,这意味着您从计算机中永久删除了该环境以及属于该环境的所有包。

PS C:\Users\some_user> conda remove --name myenv --all

Remove all packages in environment C:\Users\some_user\.conda\envs\myenv:

No packages found in C:\Users\some_user\.conda\envs\myenv. Continuing environment removal