导出/导入 conda 环境和包,包括本地文件

Tob*_*ias 5 linux packages conda

我想让我的分析可重现,并想使用 conda 来确保使用特定版本的特定软件。为此,我设置了一个环境,包括一些从本地源构建的程序和导出一些环境变量的脚本。

我导出了环境并从本地文件构建了一个包(基本上遵循此处描述的过程,post #2: >link<):

conda env export > myenv.yml
conda package --pkg-name myenv --pkg-version 0.1 --pkg-build 1
Run Code Online (Sandbox Code Playgroud)

在另一台机器上,我导入了环境,使用没有问题

conda env create -f myenv.yml
source activate myenv
Run Code Online (Sandbox Code Playgroud)

但是,在尝试安装软件包时遇到了一些麻烦:

conda install myenv-0.1-1.tar.bz2
ERROR conda.core.link:_execute_actions(337): An error occurred while installing package '<unknown>::myenv-0.1-1'.
FileNotFoundError(2, 'No such file or directory')
Attempting to roll back.
FileNotFoundError(2, 'No such file or directory')
Run Code Online (Sandbox Code Playgroud)

因此,我阅读了一些有关频道的信息,并尝试使用该软件包设置本地频道:

mkdir -p own_pkg/linux-64
mkdir -p own_pkg/noarch
mv myenv-0.1-1.tar.bz2 own_pkg/linux-64/
conda index own_pkg/linux-64 own_pkg/noarch
updating: myenv-0.1-1.tar.bz2
Run Code Online (Sandbox Code Playgroud)

我添加了以下内容 ~/.condarc

channels:
  - defaults
  - file://my/path/to/own_pkg
Run Code Online (Sandbox Code Playgroud)

然后再次尝试安装但仍然:

conda install myenv
Fetching package metadata .............

PackageNotFoundError: Packages missing in current channels:

  - myenv

We have searched for the packages in the following channels:

  - https://repo.continuum.io/pkgs/main/linux-64
  - https://repo.continuum.io/pkgs/main/noarch
  - https://repo.continuum.io/pkgs/free/linux-64
  - https://repo.continuum.io/pkgs/free/noarch
  - https://repo.continuum.io/pkgs/r/linux-64
  - https://repo.continuum.io/pkgs/r/noarch
  - https://repo.continuum.io/pkgs/pro/linux-64
  - https://repo.continuum.io/pkgs/pro/noarch
  - file://my/path/to/own_pkg/linux-64
  - file://my/path/to/own_pkg/noarch
Run Code Online (Sandbox Code Playgroud)

即便如此在/my/path/to/own_pkg/linux-64文件.index.jsonrepodata.json等等存在,包被命名为和TAR.BZ2文件中引用其中。

有人可以向我解释我做错了什么和/或实现我的目标的适当工作流程是什么吗?

谢谢!


更多信息:

源机:

  • Linux Ubuntu 16.04
  • 康达版本 4.4.7
  • conda 构建版本 3.2.1

目标机器:

  • 科学 Linux 7.4
  • 康达版本 4.3.29
  • conda 构建版本 3.0.27