如何在一行中创建和激活conda env?

时间:2020-07-18 08:30:11

标签: python conda

经常会发生这样的情况:尽管创建了一个conda环境,但我却没有激活它,尽管conda信息很清晰。最后,我将软件包安装在conda base 环境中。 (是的,我有点做梦了)

我的问题是:

  1. 在某些情况下,您创建了一个conda环境,但又没有立即激活它吗?
  2. 如何创建一个conda环境并单行激活它? (在Linux提示符shell中,并且是非交互式的)

1 个答案:

答案 0 :(得分:2)

作为回答第一个问题的具体示例,我使用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是您希望用来创建环境的非默认python版本,CONDA_DIRCONDA_ENV_FILE分别是{ {1}}保留其环境和您需要来源(或具有部分外壳初始化)的conda环境文件,以使conda命令可用。

然后将其用作:

conda

conda_create_and_run myenv 3.8 创建一个名为python3.8的环境。