环境#

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

为什么要创建一个新的环境?#

您可能想要创建一个新环境的原因有很多。

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

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

易于管理 - conda 提供了工具来轻松地 创建、管理和删除环境。您可以快速地 在环境之间切换,从而简化了管理多个具有不同需求的项目的流程。

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

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

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

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

使用环境#

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

提示

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

创建环境#

通过打开终端(Windows 上的 Anaconda Prompt)并运行以下命令之一来创建 conda 环境。

# Replace <ENV_NAME> with a name for your environment
conda create -n <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 -n <ENV_NAME> python=<VERSION> <PACKAGE>=<VERSION>

注意

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

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

示例

conda create -n 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 -f environment.yml
    

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

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