我在python中使用conda并在环境中安装了很多依赖项。我需要将环境迁移到另一台互联网速度很慢的PC。所以更确切地说,下载软件包可以从工作机器中获取转储并放入新机器。我使用的操作系统是ubuntu 18.04
谢谢,Gokul
我承认,这不是一个完美的解决方案,但您可以尝试以下方法。
首先,您需要获取特定环境的环境文件。
conda activate your_env
conda env export > environment.yml
通常,您只需在新计算机上使用如下:
conda env create -f environment.yml
但是,你想在没有互联网的情况下做到这一点...你最好的选择可能是用Docker / 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(如果您没有任何Internet访问权限,则可能会出现问题),您可以运行此容器。
singularity run conda.simg conda -h
或者你想要运行什么(虽然Jupyter笔记本不适合我):
singularity run conda.simg ipython
您可以跨两个系统设置pip缓存网络,只需从pip缓存网络安装而无需互联网连接,您可以在以下链接中找到它的步骤https://stackoverflow.com/a/11034515/7896543