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.json
,repodata.json
等等存在,包被命名为和TAR.BZ2文件中引用其中。
有人可以向我解释我做错了什么和/或实现我的目标的适当工作流程是什么吗?
谢谢!
更多信息:
源机:
目标机器:
归档时间: |
|
查看次数: |
4003 次 |
最近记录: |