我承认,这不是一个完美的解决方案,但您可以尝试以下方法。
首先,您需要获取特定环境的环境文件。
conda activate your_env
conda env export > environment.yml
通常,您只需在新计算机上按以下方式使用它:
conda env create -f environment.yml
但是,您想在没有互联网的情况下执行此操作...您最好的选择可能是使用 Docker/Singularity 将您的构建容器化。
这是一个示例 Singularity 配方(在与“environment.yml”相同的目录中名为“Singularity”的文件中):
Bootstrap: docker
From: continuumio/miniconda3
%files
environment.yml
%environment
PATH=/opt/conda/envs/$(head -1 environment.yml | cut -d' ' -f2)/bin:$PATH
%post
echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc
echo "source activate $(head -1 environment.yml | cut -d' ' -f2)" > ~/.bashrc
/opt/conda/bin/conda env create -f environment.yml
%runscript
exec "$@"
构建这个:
sudo singularity build conda.simg Singularity
现在,您将拥有一个可以在任何地方运行的正常运行的容器!
只要您的机器上安装了 Singularity(如果您没有任何互联网访问权限,则可能会出现问题),您就可以运行此容器。
singularity run conda.simg conda -h
或者你想运行的任何东西(虽然 Jupyter 笔记本不适合我):
singularity run conda.simg ipython