私有 Conda 包服务器:选择正确的解决方案

Exchange insights, tools, and strategies for canada dataset.
Post Reply
Mitu9900
Posts: 224
Joined: Thu Dec 26, 2024 9:19 am

私有 Conda 包服务器:选择正确的解决方案

Post by Mitu9900 »

探索私有 Conda 包服务器选项:
以下是我们想到的要求列表:

最重要的要求是一个可以运行的 conda 服务器,其中包括对我们构建的私有包的身份验证。

我们希望能够从 澳大利亚手机数据 本地开发机器中提取软件包,这意味着服务器可以公开访问。

我们的下一个首要任务是能够在我们自己的 AWS 环境中托管服务器。鉴于团队规模较小(目前总共约 15 名用户),我们不想将大部分预算用于寻找企业解决方案。

最重要的是,使用定期维护的软件会很好。



我们探索了许多不同的第三方和开源选项来托管 conda 包。以下是我们探索的解决方案:

S3 选项:

AWS和Azure建议使用 blob 存储来托管 Conda 包。这涉及构建包,并将压缩包文件存储在 s3 上。可以添加 s3 存储桶作为 conda 通道。

您仍需确保 s3 存储桶中有一个索引文件,但网上没有太多关于此内容的信息,我们讨论了使用 lambda 函数在必要时遍历 s3 存储桶来重建索引。如果您希望在此过程中涉及任何身份验证,则需要做一些额外的工作。

由于缺乏现成的解决方案,以及需要进行额外的身份验证工作,可能会带来挑战,因此我们决定不使用此

第三方供应商:

Anaconda Cloud提供付费许可的私人频道。它提供开箱即用的令牌,您可以在访问私人 conda 频道时使用这些令牌对频道成员进行身份验证。

Artifactory和Sonatype为 Counda 套餐托管提供付费订阅,提供类似的功能,但每位用户每月需支付一定费用,这超出了我们的预算。

开源解决方案:

Daniel Bok 开发的 Go 服务器。目前没有维护,所以我们很快决定不使用此选项。

在 2019 年的一篇博客文章中,描述了一种使用 nginx 的解决方案。虽然这很有意义,因为 conda 文件是静态的,但没有关于重新生成 conda 索引的信息。

Quetz是一个很有前途的开源解决方案,由 mamba 和 boa 背后的团队维护,提供渠道隔离和用户权限定制。

其他选项:

Prefix.dev提供免费的私人频道设置,但对在私人环境中部署的担忧促使我们探索其他解决方案。

在下表中,我们对我们的 Python 开发团队的 conda 服务器的需求进行了MoSCoW 分析。
Post Reply