首页 > 解决方案 > 如何在一行中创建和激活 conda env?

问题描述

经常发生的是,当我创建一个 conda 环境时,我忘记了激活它,尽管 conda 信息很清楚。我最终将我的包安装在 conda基础环境中。(是的......我有点梦想家)

我的问题是:

  1. 是否存在创建 conda 环境但未立即激活它的用例?
  2. 如何创建一个 conda 环境并在一行中激活它?(在 Linux 提示 shell 中,非交互式)

标签: pythonconda

解决方案


作为回答您的第一个问题的具体示例,我已将conda一次性构建环境包装在某些Makefile目标中,即我创建环境,然后后续命令或目标可以通过conda run.

改编一个片段,您可以在启动文件Makefile中创建一个函数:bash

    conda_create_and_run() {
        ENV_NAME=$1
        CONDA_PY_VER=$2
        . ${CONDA_ENV_FILE}
        conda config --append envs_dirs ${CONDA_DIR}
        conda create -p ${CONDA_DIR}/${ENV_NAME} python=${CONDA_PY_VER} -y
        conda activate ${ENV_NAME}
    }

这是您希望创建环境CONDA_PY_VER的非默认版本,并且和分别是保存其环境的位置和您需要获取的环境文件(或拥有一部分 shell init)以便拥有可用的命令。pythonCONDA_DIRCONDA_ENV_FILEcondacondaconda

然后,您可以将其用作:

conda_create_and_run myenv 3.8

python3.8命名创建环境myenv


推荐阅读