如何将安装在一台机器上的Anaconda env转移到另一台机器上? [两者都安装了Ubuntu]

问题描述 投票:5回答:3

我一直在我的GuestOS Anaconda(4.3.23)上使用ubuntu 14.04,它安装在HostOS windows 8.1上的Vmware上。我已经在anaconda设置了一个环境,并安装了许多库,其中一些非常忙于安装(不是直接的pip安装)。很少有库具有内部依赖关系,必须与他们的git源一起构建。

问题我将使用基于云的VM(Azure GPU实例)来使用GPU。但我不想再次进入繁忙的安装,因为我不想浪费钱,因为我需要再次安装所有的软件包和库

有没有办法将我现有的env(已安装的所有内容)传输/复制到Cloud VM。

python ubuntu anaconda virtualenv conda
3个回答
2
投票

this documentation page的最后:

保存包以备将来使用:

conda list --export > package-list.txt

从导出文件重新安装包:

conda create -n myenv --file package-list.txt

1
投票

您可以将整个Anaconda安装复制到您的云实例中。


0
投票

If conda list --export failes like this ...

执行conda list --export > package-list.txt会创建一个如下所示的文件:

# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: win-64
_tflow_1100_select=0.0.1=gpu
absl-py=0.5.0=py_0
astor=0.7.1=py_0
...

但是通过执行conda create -n myenv --file package-list.txt创建一个新环境会给我这个错误:

Solving environment: ...working... failed

PackagesNotFoundError: The following packages are not available from current channels:

  - markdown==2.6.11=py_0
  ...

... then try to use conda env export

根据this discussion在源计算机上执行以下命令:

source activate yourEnvironment
conda env export --no-builds > file.txt

在目标机器上执行:

conda env create --file /path/to/file.txt

conda env export生成的文件看起来有点不同,但它也包含pip包:

name: yourEnvironment
channels:
  - conda-forge
  - defaults
dependencies:
  - absl-py=0.5.0
  ...
  - pip:
    - astroid==2.0.4
    ...
© www.soinside.com 2019 - 2024. All rights reserved.