Conda非常适合分发开源软件的二进制文件。但是,对于我所在行业的某些软件,用户必须同意许可或在访问之前在网络表单上提交电子邮件。我希望每个人都使用conda,有没有办法让开发人员仍然使用conda来分发这样的包?应该可以使用像conda install ...
这样简单的解决方案。
到目前为止,我提出的最佳解决方案是提供用户已同意许可的tar.bz2软件包的下载,然后让用户运行conda install package.tar.bz2
。不幸的是,这不会安装公开可用的依赖项(例如来自anaconda.org)。另一种方法是让用户下载软件包并将其放在conda_bld文件夹中,但这有点手动,需要用户了解其安装。
答案 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。
实际的包文件可以在用户下载时位于任何目录中,据我所知,并在命令行中提供。用户不应该将包放在特定目录中。