环境#

在conda中,环境是自包含的、隔离的空间,您可以在其中安装特定版本的软件包,包括依赖项、库和Python版本。这种隔离有助于避免包版本之间的冲突,并确保您的项目拥有所需的精确库和工具。

为什么我应该创建一个新环境?#

有几种原因你可能想要创建一个新环境:

依赖隔离 - 环境将软件及其依赖项与您机器上安装的其他软件隔离开来。这意味着您可以在机器上同时安装 Python 3.9 和 Python 3.10,并且可以同时使用这两个版本而不会遇到问题。

可重复性 - 通过为每个项目创建一个环境,您可以确保您的代码在不同的机器上一致地运行。共享环境配置 允许其他人复制您的设置,确保他们拥有相同的包版本和依赖项。

易于管理 - Conda 提供了工具来轻松创建、管理和删除环境。您可以快速在环境之间切换,使得管理具有不同需求的多个项目变得简单。

测试和开发 - 环境非常适合测试新的包或库,而不会影响您稳定的开发设置。您可以自由地进行实验,如果事情不顺利,可以删除环境,而不会影响您的其他项目。

为什么我不应该在基础环境中工作?#

首次安装和使用conda时,您可能看到了对名为base或“基础环境”的引用。这个环境是conda本身安装的地方,应该仅用于安装anaconda、conda和与conda相关的包,例如anaconda-clientconda-build

然而,对于您的项目,Anaconda 强烈建议创建新的工作环境。这可以保护您的基础环境免受复杂依赖冲突的影响,并允许您轻松地在其他机器上管理和复制您的环境。

使用环境#

为了方便起见,这里详细介绍了用户在管理环境时最常见的操作。有关完整操作列表和更全面的指南,请参阅官方conda文档中的管理环境。或者,跟随我们在Anaconda Cloud上的conda环境入门教程。

提示

如果您更喜欢通过我们的图形界面Navigator创建和管理您的环境,请参阅管理环境

创建环境#

通过打开Anaconda Prompt(在macOS/Linux上为终端)并运行以下命令之一来创建一个conda环境:

# Replace <ENV_NAME> with a name for your environment
conda create --name <ENV_NAME>
# Replace <ENV_NAME> with a name for your environment
# Replace <PACKAGE> with your desired package
# Replace <VERSION> with your desired version of Python
conda create --name <ENV_NAME> python=<VERSION> <PACKAGE>=<VERSION>

注意

  • 这将下载列出的包及其依赖项。

  • 如果您没有指定Python或其他包的版本,conda将尝试从其可用渠道安装最新版本。

示例:

conda create --name myenv python=3.11 beautifulsoup4 docutils jinja2=3.1.4 wheel

提示

最好同时安装环境中所需的所有软件包,原因如下:

  • 它会更快,因为每次解决都需要时间。

  • 您想要的包之间的任何不兼容性都会被迅速发现。

  • 如果发现不兼容性,那么您没有将环境留在半构建状态。

激活环境#

因为环境是隔离的空间,所以一次只能使用一个。选择一个环境来使用被称为激活它。

通过运行以下命令激活环境:

# Replace <ENV_NAME> with the name of the environment you want to activate
conda activate <ENV_NAME>

环境切换#

当你准备在项目之间切换时,只需激活你其他项目的环境。激活不同的环境将会停用你当前的环境。

  1. (可选)通过运行以下命令查看所有环境的列表:

    conda info --envs
    
  2. 要切换到不同的环境,请通过运行以下命令来激活它:

    # Replace <ENV_NAME> with the name of the environment you want to switch to
    conda activate <ENV_NAME>
    

停用环境#

在完成工作后,最好停用您的环境。

要停用您的活动环境,请运行以下命令:

conda deactivate

共享环境#

与他人共享您的环境允许他们使用conda在他们的机器上重新创建您的环境。

要共享环境及其软件包,您必须将环境的配置导出到一个.yml文件中。

注意

简单地将您的Anaconda或Miniconda文件复制到新目录或另一台机器上不会重新创建环境。您必须整体导出环境。

导出环境配置文件 .yml#

警告

如果您当前目录中已经有一个环境配置文件 .yml,它将在导出过程中被覆盖。

  1. 通过运行以下命令激活您想要导出的环境:

    # Replace <ENV_NAME> with the name of the environment you want exported
    conda activate <ENV_NAME>
    
  2. 通过运行以下命令导出环境:

    conda env export > environment.yml
    

    注意

    此文件处理环境的pip包和conda包。

  3. 与其他用户共享导出的环境配置文件 .yml

从environment.yml文件创建环境#

如果有人与你共享了一个环境——或者你需要在新的机器上重新创建你的环境——请按照以下步骤使用环境配置文件 .yml 创建一个新环境:

  1. 从存储environment.yml文件的目录运行以下命令:

    conda env create --file environment.yml
    

    文件的第一行设置了新环境的名称。有关更多详细信息,请参阅手动创建环境文件

  2. 一旦你的环境成功创建,conda 会提供命令来激活它。激活后,你就可以开始在新的环境中工作了。