Я попытался создать и активировать среду Conda TMP_ENV внутри контейнера -аптельер. Файл .sif был создан следующим образом:
Я создал my_container.def
Bootstrap: docker
From: ubuntu:22.04
%post
apt-get -y update
apt-get -y upgrade
apt-get install -y build-essential \
less man vim bzip2 curl wget git ca-certificates iputils-ping net-tools locales
# timezone
export DEBIAN_FRONTEND=noninteractive
export TZ=Asia/Tokyo
apt-get install -y tzdata
ln -fs /usr/share/zoneinfo/$TZ /etc/localtime
dpkg-reconfigure --frontend noninteractive tzdata
apt-get -y clean
rm -rf /var/lib/apt/lists/*
locale-gen en_US.UTF-8
update-locale LANG=en_US.UTF-8
# PS1
echo "export PS1=\"\[\e[0;32m\]Apptainer|\W> \[\e[m\]\"" >> /opt/init.sh
# Install Miniforge
wget https://github.com/conda-forge/miniforg ... -x86_64.sh
/bin/sh Miniforge3-Linux-x86_64.sh -bfp /opt/miniforge3
rm Miniforge3-Linux-x86_64.sh
/opt/miniforge3/bin/conda shell.bash hook > /opt/miniforge3/conda_init.sh
. /opt/miniforge3/conda_init.sh
echo ". /opt/miniforge3/conda_init.sh" >> /opt/init.sh
conda update -y -n base -c defaults conda
conda create -n tmp_env -y
conda activate tmp_env
conda install python -y
%runscript
echo "Hello, Ubuntu. from runscript"
%startscript
echo "Hello, Ubuntu. from startscript"
%environment
. /opt/init.sh
созданный sif
apptainer build my_container.sif my_container.def
< /code>
и ввел Aplainer Shell < /p>
apptainer shell my_container.sif
Было две Envs, и казалось, что базовый env был активен
(base) Apptainer|~> conda env list
# conda environments:
#
base * /opt/miniforge3
tmp_env /opt/miniforge3/envs/tmp_env
(base) Apptainer|~> which python
/opt/miniforge3/bin/python
< /code>
Я попытался активировать другую Env и получил кондоратор: < /p>
(base) Apptainer|~> conda activate tmp_env
CondaError: Run 'conda init' before 'conda activate'
< /code>
Это было решено путем ручного запуска < /p>
(base) Apptainer|~> eval "$(/opt/miniforge3/bin/conda shell.bash hook)"
(base) Apptainer|~> conda activate tmp_env
(tmp_env) Apptainer|~>
После входа в оболочку.
Таким образом, я вставил этот блок в /пт/init.sh или/среда в надежде вступить в силу при входе в оболочку, которая не решила проблему. Можно ли автоматически избегать кондорера?host: WSL version 2.5.9.0
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
$ apptainer --version
apptainer version 1.3.6
Подробнее здесь: https://stackoverflow.com/questions/796 ... -container
Conda Activate возвращает Condaerror с контейнером -аптельоном (Singularity) ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как устранить ошибку CondaError: запустите «conda init» перед «conda active»
Anonymous » » в форуме Python - 0 Ответы
- 110 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Неизвестный разрыв между контейнером заголовка и основным контейнером содержимого
Anonymous » » в форуме CSS - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Python — раздел [tool.poetry] не найден в pyproject.toml при сборке контейнера Singularity
Anonymous » » в форуме Python - 0 Ответы
- 42 Просмотры
-
Последнее сообщение Anonymous
-