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

入门文档:入门文档

更多细节:更多细节

为什么要创建新环境

  • 依赖项隔离
  • 可重现性
  • 易于管理
  • 测试、开发

为什么我们不应该在基本环境中工作

base环境

首次安装和使用 conda 时,您可能会看到对称为 base 或 “base environment” 的引用。此环境是安装 conda 本身的位置,只能用于安装 anaconda、conda 和与 conda 相关的软件包,例如 anaconda-clientconda-build

新环境

但是,对于您的项目,Anaconda 强烈建议创建新的工作环境。这可以保护您的基本环境不会因复杂的依赖关系冲突而中断,并允许您在其他计算机上轻松管理和重现您的环境。

使用环境

创建环境

打开终端,以下命令创建一个新环境并下载指定的包及其依赖项:

1
conda create --name <ENV_NAME> <PACKAGE>=<VERSION>

example:

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

激活环境

1
conda activate <ENV_NAME>

在环境之间切换

当您准备好在项目之间切换时,只需激活另一个项目的环境即可。激活其他环境将停用您当前的环境。

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

    1
    conda info --envs
  • 切换环境:

    1
    conda activate <ENV_NAME>

锁定环境

确保您的项目无限期地保持可重现性的最可靠方法是 “锁定” 其环境。锁定环境会创建一个完全指定的环境,该环境包含项目中使用的所有包及其依赖项,这些包都配置为特定版本。这可确保您的项目将完全按照最初的配置进行复制,因为如果发布了新的包依赖项,则永远不会发生意外的更新或更改。

  1. 锁定项目需要在要锁定的环境中安装 conda-project 包。通过运行以下命令安装软件包:

    1
    2
    conda activate <ENV>
    conda install conda-project
  2. 如果您的项目不包含 environment.yml 文件,请运行以下命令创建一个:

    1
    conda-project init
  3. 锁定环境:

    1
    conda-project lock

锁定项目会生成一个 conda-lock.default.yml 文件,您可以导出该文件以与他人共享

共享环境

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

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

注意

  1. 简单地将 Anaconda 或 Miniconda 文件复制到新目录或其他计算机不会重新创建环境。您必须将环境作为一个整体导出。
  2. 如果当前目录中已有环境配置.yml文件,则在导出过程中将覆盖该文件。

步骤

  1. 激活要导出的环境:

    1
    conda activate <ENV_NAME>
  2. 导出环境

    1
    conda env export > environment.yml

停用环境

最佳做法是在完成环境中的工作后停用环境。

停用环境:

1
conda deactivate

删除环境

终端运行:

1
conda remove --name <ENV_NAME> --all

验证是否已经删除环境:

1
conda info --envs