将conda环境迁移到没有Internet(或快速Internet)的计算机

问题描述 投票:0回答:2

我在python中使用conda并在环境中安装了很多依赖项。我需要将环境迁移到另一台互联网速度很慢的PC。所以更确切地说,下载软件包可以从工作机器中获取转储并放入新机器。我使用的操作系统是ubuntu 18.04

谢谢,Gokul

python pip conda offline ubuntu-18.04
2个回答
1
投票

我承认,这不是一个完美的解决方案,但您可以尝试以下方法。

首先,您需要获取特定环境的环境文件。

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

0
投票

您可以跨两个系统设置pip缓存网络,只需从pip缓存网络安装而无需互联网连接,您可以在以下链接中找到它的步骤https://stackoverflow.com/a/11034515/7896543

© www.soinside.com 2019 - 2024. All rights reserved.