conda 22.11 更新:libmamba 求解器的实验性标志已移除。要使用新的求解器,请更新您基础环境中的 conda
conda update -n base conda
要安装和设置新的求解器,请运行以下命令
conda install -n base conda-libmamba-solver
conda config --set solver libmamba
在此处了解更多。
介绍 conda-libmamba-solver
conda 团队很高兴地宣布推出 'libmamba',它是一个新的、速度更快的 conda 依赖关系求解器!三家不同的公司共同促成了此次发布:QuantStack,开发 mamba 和 libmamba;Quansight,将 libmamba 集成到 conda 中;以及 Anaconda,开发 conda 并管理整体工作。请继续阅读,了解该项目的核心贡献者、我们将 mamba 的功能引入 conda 的原因,以及您今天如何开始加速您的工作流程。
核心贡献者
Jaime Rodríguez-Guerra | Quansight Jaime 拥有生物技术博士学位,并认为软件包管理是可重复研究的支柱之一。他在从事分子建模框架和用于药物设计的机器学习管道时成为 conda 爱好者。
Filipe Laíns | Quansight Filipe 是 Python Packaging Authority 的成员、pypa/build 工具的作者,以及 Arch Linux 发行版的维护者。他致力于改进 Python 软件包生态系统,并弥合 Python 软件包下游之间的差距。
Tania Allard | Quansight Tania 拥有计算建模博士学位,并且是著名的多产 PyData 社区成员。Tania 是 PSF(Python 软件基金会)的院士和董事,并曾作为会议组织者(JupyterCon、SciPy、PyJamas、PyCon UK、PyCon LatAm、JuliaCon 等)、社区建设者(PyLadies、NumFOCUS、RForwards)、Matplotlib 和 Jupyter 的贡献者以及定期演讲者和导师参与其中。
Jannis Leidel | Anaconda Jannis 是 Anaconda conda 团队的高级软件工程师,此前共同创立了 Python Packaging Authority,这是一个志愿者团体,十多年来一直维护着 Python 编程语言的基础软件包管理软件。他目前在 Python 软件基金会董事会任职,并认为促进 conda 项目对于帮助不断壮大的数据从业者社区至关重要。
我们为什么将 Mamba 求解器引入 Conda?
mamba 项目 是一个快速的、替代性的 conda 客户端,由于其 libsolv 求解器对 conda 元数据的实现而得到广泛采用。在将 mamba 求解器引入 conda 时,该项目具有以下目标
-
将 conda 的解析速度提高 50-80%*
-
最大化向后兼容性,以便不破坏任何当前功能
-
构建插件基础设施,供其他人创建自定义求解器
-
加强我们为社区需求服务的工作
*基于在 Linux、MacOS 和 Windows 上执行的集成测试套件
conda 解析环境软件包依赖项的速度是 conda 用户体验和实用性的关键因素。熟悉 conda 的用户知道 conda 有其优点和缺点。一方面,它单独解决了跨平台和软件包依赖性;另一方面,这种依赖关系解析过程可能很慢,尤其是在 conda 生态系统快速增长且软件包依赖关系变得越来越复杂,需要考虑的依赖关系组合也大大增加的情况下。
虽然 mamba 被宣传为 conda 的更快的直接替代求解器,但在功能上存在一些差异,尤其是在 conda 多年来积累的边缘情况下。集成测试中出现的一些问题包括 pip 互操作性、与 conda 的软件包和平台测试套件的兼容性以及标志和更新配置解析。这就是为什么 Anaconda 与 Quansight 合作,将 mamba 的 libsolv 仓库解析器和求解器集成到 conda 中,同时尽可能多地重用 conda 的内容,以弥合在使用 mamba 求解器时观察到的任何功能差异。
以向后兼容性为优先事项,此次 libmamba 集成版本的目的是在不更改现有 conda 工作流程的情况下,显著减少解析 conda 软件包的时间。
如何启用 libmamba
libmamba 的这个实验性版本是我们实现新求解器的概念验证。要使用 libmamba,请将其安装在您的 conda 基础环境中,然后在安装其他软件包时将其指定为求解器
要在临时基础上或在不将其设置为默认求解器的情况下尝试使用 libmamba,您可以在命令行上运行以下命令
conda create -n demo --experimental-solver=libmamba --dry-run install <some package>
作为实验性版本,已实施匿名自动调试日志记录(作为本地日志文件存储在您的计算机上),以解决可能在使用常规问题管理系统时出现的任何问题。当前版本将在我们对社区收到的稳定性和反馈感到满意后,被采纳为默认的 conda 求解器,因此强烈鼓励采用并且对于持续改进是必要的!提供的任何反馈都将大大加快 libmamba 作为 conda 默认求解器的采用速度。您可以在此 Github 链接 提交任何问题。
请按照上面详细说明的步骤激活 libmamba 求解器,并使用您现有的工作流程进行实验。Anaconda 和 Quansight 团队将密切监控这些报告,以继续改进求解器的功能。
展望未来
Quansight 和 Anaconda 正在举办一个由三部分组成的网络研讨会系列,内容涵盖 conda 求解器逻辑、集成和测试过程、conda 用户将体验到的重大变化以及如何启用 libmamba。点击此链接在 Anaconda Nucleus 上观看首次网络研讨会,或注册加入 Quansight 和 Anaconda 的 下一次网络研讨会,直播时间为 3 月 23 日下午 2 点(美国东部时间)/上午 11 点(太平洋时间)。