如何使用conda分发许可的包

时间:2016-08-04 17:35:58

标签: release-management conda

Conda非常适合分发开源软件的二进制文件。但是,对于我所在行业的某些软件,用户必须同意许可或在访问之前在网络表单上提交电子邮件。我希望每个人都使用conda,有没有办法让开发人员仍然使用conda来分发这样的包?应该可以使用像conda install ...这样简单的解决方案。

到目前为止,我提出的最佳解决方案是提供用户已同意许可的tar.bz2软件包的下载,然后让用户运行conda install package.tar.bz2。不幸的是,这不会安装公开可用的依赖项(例如来自anaconda.org)。另一种方法是让用户下载软件包并将其放在conda_bld文件夹中,但这有点手动,需要用户了解其安装。

1 个答案:

答案 0 :(得分:0)

最简单的方法可能是创建两个包,一个包含实际包,另一个包安装所有依赖包。原因是,根据官方文档,conda install ./pkg-0.0.0-py27_0.tar.bz2暗示--force,它不会安装任何依赖项。相反,您的用户可以这样做

conda install -c your-channel pkg-deps
conda install ./pkg-0.0.0-py27_00.tar.bz2

在包pkg-deps中,您应该列出实际包的所有依赖项,但该包不需要安装任何东西。从技术上讲,这将是Metapackage

实际的包文件可以在用户下载时位于任何目录中,据我所知,并在命令行中提供。用户不应该将包放在特定目录中。