我是奇异性的新手,我想myenv
在奇异性配方中激活一个 conda 环境 (),以便在其中安装一个包 ( mypkg
)。我已经阅读了一些相关的帖子,但答案并没有解决我的问题,尽管问题非常相似(在 Nextflow 中执行 Singularity 容器时激活 conda 环境,如何在 Singularity 配方中激活 Anaconda 环境,从Nipype docker 构建 Singularity 配方图像 CommandNotFound)。你能帮我找到我错过的东西吗?
在我的情况下,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