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

时间:2017-08-24 14:44:08

标签: python ubuntu anaconda virtualenv conda

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

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

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

4 个答案:

答案 0 :(得分:2)

this documentation page的结尾开始:

保存软件包以备将来使用:

conda list --export > package-list.txt

从导出文件重新安装软件包:

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)


如果conda list --export这样失败...

执行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
  ...

...然后尝试使用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
    ...

答案 3 :(得分:0)

echo feline\Cat::says(), "<br />\n";
echo canine\Dog::says(), "<br />\n";
echo animate\Animal::breathes(), "<br />\n";