我想让我的分析可重现,并想使用 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
- …
Run Code Online (Sandbox Code Playgroud)