Anaconda 与 miniconda

Posted

技术标签:

【中文标题】Anaconda 与 miniconda【英文标题】:Anaconda vs. miniconda 【发布时间】:2018-01-07 08:05:39 【问题描述】:

在Anaconda repository中,有两种安装程序:

Anaconda 安装程序”和“Miniconda 安装程序”。

它们有什么区别?

此外,对于安装程序文件,Anaconda2-4.4.0.1-Linux-ppc64le.sh2-4.4.0.1 代表什么?

【问题讨论】:

【参考方案1】:

简介

conda既是一个命令行工具,也是一个python包。

Miniconda 安装程序 = Python + conda

Anaconda 安装程序 = Python + conda + 元包 anaconda

meta Python pkg anaconda = 大约 160 个 Python pkg,用于数据科学的日常使用

Anaconda 安装程序 = Miniconda 安装程序 + conda install anaconda

详情

    conda 是一个 python 管理器和一个环境管理器,这使得它成为可能

    conda install flake8安装包 使用conda create -n myenv python=3.6 使用任何版本的 Python 创建环境

    Miniconda 安装程序 = Python + conda

    conda,包管理器和环境管理器,是一个 Python 包。因此 Python 捆绑在 Miniconda 安装程序中。因为 conda 使用自己的库/依赖项分发 Python 解释器,而不是操作系统上的现有库/依赖项,还安装了其他最小依赖项,如 opensslncursessqlite 等。

    基本上,Miniconda 只是 conda 及其最小依赖项。而安装conda的环境是“base”环境,之前称为“root”环境。

    Anaconda 安装程序 = Python + conda + 元包 anaconda

    元 Python 包 anaconda = 大约 160 个 Python pkg,用于数据科学的日常使用

    元包,是不包含实际软件的包,仅依赖于要安装的其他包。

    从Anaconda Cloud 下载一个anaconda 元数据包并从中提取内容。 info/recipe/meta.yaml 列出了实际要安装的 160 多个包。

    package:
        name: anaconda
        version: '2019.07'
    build:
        ignore_run_exports:
            - '*'
        number: '0'
        pin_depends: strict
        string: py36_0
    requirements:
        build:
            - python 3.6.8 haf84260_0
        is_meta_pkg:
            - true
        run:
            - alabaster 0.7.12 py36_0
            - anaconda-client 1.7.2 py36_0
            - anaconda-project 0.8.3 py_0
            # ...
            - beautifulsoup4 4.7.1 py36_1
            # ...
            - curl 7.65.2 ha441bb4_0
            # ...
            - hdf5 1.10.4 hfa1e0ec_0
            # ...
            - ipykernel 5.1.1 py36h39e3cac_0
            - ipython 7.6.1 py36h39e3cac_0
            - ipython_genutils 0.2.0 py36h241746c_0
            - ipywidgets 7.5.0 py_0
            # ...
            - jupyter 1.0.0 py36_7
            - jupyter_client 5.3.1 py_0
            - jupyter_console 6.0.0 py36_0
            - jupyter_core 4.5.0 py_0
            - jupyterlab 1.0.2 py36hf63ae98_0
            - jupyterlab_server 1.0.0 py_0
            # ...
            - matplotlib 3.1.0 py36h54f8f79_0
            # ...
            - mkl 2019.4 233
            - mkl-service 2.0.2 py36h1de35cc_0
            - mkl_fft 1.0.12 py36h5e564d8_0
            - mkl_random 1.0.2 py36h27c97d8_0
            # ...
            - nltk 3.4.4 py36_0
            # ...
            - numpy 1.16.4 py36hacdab7b_0
            - numpy-base 1.16.4 py36h6575580_0
            - numpydoc 0.9.1 py_0
            # ...
            - pandas 0.24.2 py36h0a44026_0
            - pandoc 2.2.3.2 0
            # ...
            - pillow 6.1.0 py36hb68e598_0
            # ...
            - pyqt 5.9.2 py36h655552a_2
            # ...
            - qt 5.9.7 h468cd18_1
            - qtawesome 0.5.7 py36_1
            - qtconsole 4.5.1 py_0
            - qtpy 1.8.0 py_0
            # ...
            - requests 2.22.0 py36_0
            # ...
            - sphinx 2.1.2 py_0
            - sphinxcontrib 1.0 py36_1
            - sphinxcontrib-applehelp 1.0.1 py_0
            - sphinxcontrib-devhelp 1.0.1 py_0
            - sphinxcontrib-htmlhelp 1.0.2 py_0
            - sphinxcontrib-jsmath 1.0.1 py_0
            - sphinxcontrib-qthelp 1.0.2 py_0
            - sphinxcontrib-serializinghtml 1.1.3 py_0
            - sphinxcontrib-websupport 1.1.2 py_0
            - spyder 3.3.6 py36_0
            - spyder-kernels 0.5.1 py36_0
            # ...
    

    meta pkg anaconda 的预安装包主要用于网络抓取和数据科学。比如requestsbeautifulsoupnumpynltk

    如果您安装了 Miniconda,conda install anaconda 将使其与 Anaconda 安装相同,只是安装文件夹名称不同。

    Miniconda2 与迷你康达。 Anaconda2 对战蟒蛇。

    2 表示“基础”环境中conda 的捆绑 Python 解释器是 Python 2,而不是 Python 3。

【讨论】:

【参考方案2】:

Anaconda 的安装非常大,大约 2 GB,对于那些不熟悉使用其他包管理器安装模块或包的用户最有用。

Anaconda 似乎在宣传自己是 Jupyter 的官方包管理器。它不是。 Anaconda 将 Jupyter、R、python 和许多软件包与它的安装捆绑在一起。

安装 Jupyter Lab 或 R 内核不需要 Anaconda。其他地方有大量信息可用于安装 Jupyter Lab 或 Notebooks。其他地方也有大量关于安装 R studio 的信息。下面展示了如何直接从 R Studio 安装 R 内核:

要在没有 Anaconda 的情况下安装 R 内核,请启动 R Studio。在 R 终端窗口中输入以下三个命令:

install.packages("devtools")
devtools::install_github("IRkernel/IRkernel")
IRkernel::installspec()

完成。下次打开 Jupyter 时,R 内核将可用。

【讨论】:

【参考方案3】:

根据original docs:

如果您满足以下条件,请选择 Anaconda:

不熟悉 conda 或 Python 就像一次自动安装 Python 和 1500 多个科学软件包的便利性一样 有时间和磁盘空间(几分钟和 3 GB),和/或 不想单独安装要单独使用的每个包。

如果您满足以下条件,请选择 Miniconda:

不介意安装您要使用的每个软件包 个人。 没有时间或磁盘空间来安装超过 1500 一次打包,和/或 只想快速访问 Python 和 conda 命令,并希望稍后整理其他程序。

我自己使用 Miniconda。蟒蛇肿了。许多软件包从未使用过,但仍可在需要时轻松安装。

注意Conda 是包管理器(例如conda list 显示环境中所有已安装的包),而 Anaconda 和 Miniconda 是发行版。软件分发是一组预先构建和预先配置的软件包,可以在系统上安装和使用。包管理器是一种工具,可自动执行安装、更新和删除包的过程。

Anaconda 是 PyData 生态系统中核心软件的完整发行版,包括 Python 本身以及数百个第三方开源项目的二进制文件。 Miniconda 本质上是一个空 conda 环境的安装程序,仅包含 Conda、它的依赖项和 Python。 Source.

一旦安装了 Conda,您就可以从头开始安装您需要的任何包以及任何所需的 Python 版本。

2-4.4.0.1 是 Anaconda 安装包的版本号。奇怪的是,它并没有在他们的Old Package Lists 中列出。

2016 年 4 月,Anaconda 版本从 2.5 跃升至 4.0,以避免与 Python 版本 2 和 3 混淆。4.0 版包括 Anaconda Navigator。

后续版本的发行说明可以在here找到。

【讨论】:

作为后续问题。鉴于conda 需要很长时间来安装软件包并且anaconda 附带所有这些额外的软件包,那么anaconda 不会比miniconda 给你“更快地访问Python”和其他软件包吗?我现在正在使用miniconda,但天哪,它太慢了。 后续问题应始终作为问题发布。使用 conda 安装所有软件包后,您需要不断刷新不需要的软件包,在我看来,这比安装和更新使用的软件包更麻烦。此外,miniconda 并不慢。事实上,安装一部分包比安装所有包要快。 2 不是版本的一部分,它是 Anaconda 名称的一部分:在 Anaconda2-4.4.0.1-Linux-ppc64le.sh 我们找到 Anaconda2 的 4.4.0.1 版本(适用于在 Little Endian 64 位 PowerPC 上运行的 Linux )。 但我不知道是否也允许 anaconda 和/或 miniconda 用于商业用途? Anaconda 提供“个人版”和“团队版”,但在许可证中我看不到“个人版”禁止在生产环境中使用? @thehandofNOD 您可以将其用于生产。如redhat、ubuntu等。他们提供商业支持和其他好处。但基本的东西是免费的。【参考方案4】:

Anaconda 还是 Miniconda?

如果您满足以下条件,请选择 Anaconda:

    不熟悉 conda 或 Python。

    就像一次自动安装 Python 和 1,500 多个科学软件包所带来的便利一样。

    有时间和磁盘空间——几分钟和 3 GB。

    不想单独安装您要使用的每个包。

如果您满足以下条件,请选择 Miniconda:

    不要介意安装您想单独使用的每个包。

    没有时间或磁盘空间一次安装超过 1,500 个软件包。

    想要快速访问 Python 和 conda 命令,并且希望稍后整理其他程序。

Source

【讨论】:

2017 年的这个答案中还没有添加什么? ***.com/a/45421527/268091【参考方案5】:

Anaconda 和 miniconda 都使用 conda 包管理器。 Anacondaminiconda 之间的主要区别在于,

Anaconda 发行版预装了所有软件包,同时 miniconda 发行版只是管理系统,没有任何 预加载的包。如果使用 miniconda,则必须下载 单独的包和库。

我个人使用 Anaconda 发行版,因为我真的不必太担心单个软件包的安装。

miniconda 的一个缺点是安装每个单独的包可能需要很长时间时间。 与安装和使用 Anaconda 相比,花费的时间要少得多。

然而,anaconda (QtConsole, Glueviz,Orange3) 中有一些我从未使用过的包。我什至不知道他们的目的。 所以 anaconda 的一个缺点是它占用的空间比需要的多。

【讨论】:

此答案不会添加任何新信息,这些信息尚未包含在 Alexander's answer 中。【参考方案6】:

不同之处在于 miniconda 只是发布了存储库管理系统。因此,当您安装它时,只有没有软件包的管理系统。而对于 Anaconda,它就像一个带有一些内置软件包的发行版。

与任何 Linux 发行版一样,有些发行版捆绑了许多包含软件包的更新。这就是版本编号不同的原因。如果您只决定升级 Anaconda,那么您就是在更新整个系统。

【讨论】:

Miniconda 不仅仅是发布存储库管理系统。 Python 附带了它,还有一些其他的包。您可以在安装 Miniconda 后立即运行 conda list 进行检查。 @Michael 确定它会创建一个 root 环境并在其前面添加一些东西。【参考方案7】:

Miniconda 为您提供 Python 解释器本身,以及一个名为 conda 的命令行工具,该工具用作面向 Python 包的跨平台包管理器,在本质上类似于 Linux 用户可能熟悉的 apt 或 yum 工具.

Anaconda 包括 Python 和 conda,另外还捆绑了一套其他面向科学计算的预安装包。由于此捆绑包的大小,预计安装会消耗数 GB 的磁盘空间。

来源:Jake VanderPlas 的Python Data Science Handbook

【讨论】:

【参考方案8】:

Anaconda2 中的2 表示 Python 的主要版本将是 2.x,而不是安装在 Anaconda3 中的 3.x。当前版本有 Python 2.7.13。

4.4.0.1 是 Anaconda 的版本号。当前的广告版本是4.4.0,我认为.1 是次要版本或用于其他类似用途。我使用的 Windows 版本只是在文件名中说4.4.0

其他人现在已经解释了 Anaconda 和 Miniconda 之间的区别,所以我将跳过。

【讨论】:

以上是关于Anaconda 与 miniconda的主要内容,如果未能解决你的问题,请参考以下文章

5Anaconda的升级与卸载

anaconda与python啥关系

Anaconda下载与安装笔记

将英特尔 OneAPI 与 Anaconda 结合使用

ANACONDA3安装与配置

Anaconda 与 miniconda