0

我想在这篇文章之后从我的 conda 环境构建一个容器。但是,我收到以下错误:'/bin/sh: 1: cannot create ~/.bashrc: Directory nonexistent'。我正在使用 vagrant VM 来构建我的图像,如果有任何帮助,我将不胜感激。

4

1 回答 1

2

编辑.bashrc,除了失败之外,将无济于事,因为奇异性加载的外壳是明确的--norc. 您想使用$SINGULARITY_ENVIRONMENT变量 in%post来获得可用的值。

这些方面的东西:

%post
    # You may need to install some pre-reqs your host system has installed outside of conda, e.g.
    # apt update && apt install -y build-essential make zlib

    ENV_NAME=$(head -1 environment.yml | cut -d' ' -f2)
    echo ". /opt/conda/etc/profile.d/conda.sh" >> $SINGULARITY_ENVIRONMENT
    echo "conda activate $ENV_NAME" >> $SINGULARITY_ENVIRONMENT

    . /opt/conda/etc/profile.d/conda.sh
    conda env create -f environment.yml -p /opt/conda/envs/$ENV_NAME

我列出了一些你可能已经安装在当前机器上的库,这些库可能没有安装在 slim docker 映像中。您可以根据自己的喜好通过 apt 或 conda 安装它们。如果确实发生了,它将特定于您的 environment.yml 和主机操作系统,因此您必须迭代直到构建成功。

于 2019-09-03T14:48:33.207 回答