Python 2.7 在奇点配方中激活康达环境

Python 2.7 在奇点配方中激活康达环境,python-2.7,conda,singularity-container,Python 2.7,Conda,Singularity Container,我是singularity新手,我想在singularity配方中激活一个conda环境(myenv),以便在其中安装一个包(mypkg)。我读过一些相关的帖子,但是答案并没有解决我的问题,尽管问题非常相似(,)。你能帮我找到我错过的吗 在我的例子中,当我执行容器时,myenv会自动激活,但在容器构建过程中,我没有成功激活它以安装mypkg。我没有任何错误消息,但软件包安装在基本环境中,而不是myenv Bootstrap: docker From: ubuntu:18.04 %files

我是singularity新手,我想在singularity配方中激活一个conda环境(
myenv
),以便在其中安装一个包(
mypkg
)。我读过一些相关的帖子,但是答案并没有解决我的问题,尽管问题非常相似(,)。你能帮我找到我错过的吗

在我的例子中,当我执行容器时,
myenv
会自动激活,但在容器构建过程中,我没有成功激活它以安装
mypkg
。我没有任何错误消息,但软件包安装在基本环境中,而不是
myenv

Bootstrap: docker
From: ubuntu:18.04

%files
    myenv.yml

%environment
    export LC_ALL=C
    export LC_NUMERIC=en_GB.UTF-8
    export PATH="/opt/miniconda/bin:$PATH"
    export PATH="/opt/miniconda/envs/$(head -1 myenv.yml | cut -d' ' -f2)/bin:$PATH"

%runscript
    exec "$@"

%post
    # miniconda2: get miniconda2 version 4.5.1
    wget https://repo.continuum.io/miniconda/Miniconda2-4.7.12.1-Linux-x86_64.sh -O miniconda.sh

    #install conda
    bash miniconda.sh -b -p /opt/miniconda
    export PATH="/opt/miniconda/bin:$PATH"

    #install conda env.yml file
    echo ". /opt/miniconda/etc/profile.d/conda.sh" >> $SINGULARITY_ENVIRONMENT
    echo "conda activate $(head -1 myenv.yml | cut -d' ' -f2)" >> $SINGULARITY_ENVIRONMENT
    /opt/miniconda/bin/conda env create -f myenv.yml

    # Activate conda env, clone and install mypkg
    . /opt/miniconda/bin/activate myenv &&
    git clone https://github.com/mypkg.git &&
    cd mypkg&&
    python setup.py install


而不是
/opt/miniconda/bin/activate myenv
尝试使用:

. /opt/conda/etc/profile.d/conda.sh
conda activate myenv
更好地支持直接使用这些函数