Conda 与 Mamba 的困惑 - 构建自定义 docker 镜像时应该使用什么

2024-04-01

我正在尝试使用构建自定义 Docker 映像jupyter/datascience-notebook这是基于jupyter/base-notebook

我可以看到 mamba 用于为 jupyter 安装/配置 conda 环境。

下面是我的 Dockerfile(问题所在的部分)

#REF: https://stackoverflow.com/q/66547389

RUN /opt/conda/bin/conda create -n pypy pypy ipykernel -y
RUN /opt/conda/envs/pypy/bin/pypy -m ipykernel install --prefix=/opt/conda/ --name pypy3 --display-name="pypy3"

#-- INSTALL JUPYTERLAB PLUGINS --#
RUN /opt/conda/bin/conda install -c conda-forge jupyterlab-git
RUN /opt/conda/bin/conda install -c conda-forge jupyter-resource-usage

我的问题 - 我真的应该使用mamba代替/opt/conda/bin/conda既然 Mamba 是 conda 的包装器?或者说,我做的事情是对的吗?

Regards,


从功能上来说,无论是conda or mamba应该管用。我一般会选择mamba over conda as mambaconda,但有些人可能更喜欢conda因为这是一个比较成熟的项目。

conda是用 python 实现的,因此不是最快的实现。mamba不是 conda 的包装,而是专注于性能的部分重新实现。mamba用 C++ 编写,使用多线程并行下载存储库数据和包文件,并利用 libsolv 更快地解决依赖关系。mamba公用事业 一些conda对性能不重要的任务的代码库,因此mamba依赖于python.

另一种选择是micromamba,这是一个纯粹的 C++ 重新实现conda并且不依赖于python。如果您从头开始创建新映像并且不需要python在你的图像中,那么你应该使用micromamba以保持生成的图像较小。图片曼巴奥格/微曼巴 https://hub.docker.com/r/mambaorg/micromamba是一个很好的起点(完全披露,我是该图像的主要维护者)。

自 2022 年 3 月 16 日起,可以从 conda 中使用 mamba 的求解器 https://conda.github.io/conda-libmamba-solver/getting-started/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Conda 与 Mamba 的困惑 - 构建自定义 docker 镜像时应该使用什么 的相关文章

  • 如何找到运行代码的 conda 环境的名称?

    我正在寻找一种好方法来从正在运行的代码或交互式 python 实例中找出我所在的 conda 环境的名称 用例是我通过 miniconda 安装运行带有 Python 2 和 Python 3 内核的 Jupyter 笔记本 默认环境是Py
  • Jupyter (iPython) 笔记本中的 Latex 宏未由 github 渲染

    我的 Jupyter 笔记本 ipynb 中有一个 Markdown 单元 其中包含以下内容 newcommand paren 1 left 1 right paren beta 2 该文件位于 Github 存储库中 LaTex 宏应用程
  • 在 python 2 和 3 的spyder之间切换

    根据我在文档中了解到的内容 它指出您只需使用命令提示符创建一个新变量即可轻松在 2 个 python 环境之间切换 如果我已经安装了 python 2 7 则 conda create n python34 python 3 4 anaco
  • 未找到行魔术函数“%%time”

    运行这个Python脚本 time train data dt fread input prediction train csv to pandas 提供的输出返回此错误 UsageError Line magic function tim
  • 如何在environment.yml中安装CRAN包

    我正在使用 miniconda 来管理数据科学包的安装 这是我现在已经建立的工作流程 所以我希望它也能在这种情况下工作 我也认为它可以工作 因为它应该在这样的情况下有所帮助 比纯 python 需要更多的依赖项 我想安装pythonCDT工
  • Jupyter笔记本突然变得很慢

    我以前在anaconda环境下运行jupyter运行得很好 显示警告后 IOPub data rate exceeded The notebook server will temporarily stop sending output to
  • Jupyter 笔记本中未显示绘图图表

    我已经尝试解决这个问题几个小时了 我按照上面的步骤操作情节网站 https plot ly python getting started start plotting online并且图表仍然没有显示在笔记本中 这是我的情节代码 color
  • 无法在 osx-arm64 上安装 Python 3.7

    我正在尝试使用 Conda 创建一个带有 Python 3 7 的新环境 例如 conda create n qnn python 3 7 我收到以下错误 Collecting package metadata current repoda
  • Windows 10 conda 未被识别为内部或外部命令

    试着 conda install c conda forge requests futures 0 9 7 但失败了 conda is not recognized as an internal or external command C
  • 如何在 conda 中从一个文件安装多个包而不创建新环境?

    我从当前环境缺少的包的 yml 文件中获取了这些 我如何在当前环境中安装这些 channels defaults dependencies appdirs 1 4 3 py36h28b3542 0 asn1crypto 0 24 0 py3
  • 在 Jupyter Notebook 上使用 virtualenv

    我尝试使用virtualenv在 jupyter 笔记本上 使用环境中安装的所有软件包 但在 jupyter 内部它们无法识别 已经尝试过 pip install tornado 4 5 3 pip install ipykernel 4
  • 在 NodeJS 中运行 Conda 命令

    我无法使用以下命令运行 C onda 命令exec与我的 NodeJS 应用程序 var conda path miniconda3 bin conda var cmd conda path init bash conda path act
  • 在 python 3.7.2 中导入 numpy 后的 RAM 使用情况

    我使用 python 3 7 2 win32 运行 conda 4 6 3 在 python 中 当我导入 numpy 时 我发现 RAM 使用量增加了 80MB 由于我使用的是多处理 我想知道这是否正常 是否有办法避免这种 RAM 开销
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • Keras Model.fit 详细格式

    我在 Jupyter Notebook 中运行 Keras model fit 如果 verbose 设置为 1 输出会非常混乱 Train on 6400 samples validate on 800 samples Epoch 1 2
  • IPython自动开启matplotlib交互模式

    我遇到了 IPython 的一些新奇怪行为 我只需重新安装我的 miniconda 所以我现在有了新的 IPython 和 Matplotlib 版本 事实证明 IPython 会自动将 matplotlib 切换到交互模式 这具有令人讨厌
  • Hung cells:与 papermill 并行运行多个 jupyter 笔记本

    我正在尝试通过从另一个笔记本启动它们来并行运行 jupyter 笔记本 我在用着造纸厂 https papermill readthedocs io en latest 保存笔记本的输出 在我的scheduler ipynb中我使用mult
  • 更新 pip 不起作用

    我陷入了困境 Conda 一直告诉我升级 pip 但是 当我运行 conda update pip 命令时 它说 pip 已完全更新 我的确切终端输出如下 Anton MacBook Pro anton conda update pip p
  • Anaconda:ModuleNotFoundError:没有名为“conda”的模块

    请注意 此错误与 stackoverflow 中显示的错误 并有答案 不同 它绝对不是重复的 我以前见过这个错误 并且能够通过修改 PATH 以包含 conda 的路径来修复它 如下所示 export PATH opt cloudera p
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac

随机推荐