Anaconda 与 miniconda

Anaconda vs. miniconda

Anaconda repository中,有两种类型的安装程序:

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

它们有什么区别?

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

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

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

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 之间的区别,所以我将跳过它。

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

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

来源:Jake VanderPlas Python Data Science Handbook

根据 original docs:

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

  • conda 新手或Python
  • 喜欢 Python 的便利性以及一次自动安装超过 1500 个科学软件包
  • 有时间和磁盘space(几分钟3GB),and/or
  • 不想单独安装每个要使用的包。

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

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

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

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

Anaconda is a full distribution of the central software in the PyData ecosystem, and includes Python itself along with the binaries for several hundred third-party open-source projects. Miniconda is essentially an installer for an empty conda environment, containing only Conda, its dependencies, and 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

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

The Anaconda distribution comes pre-loaded with all the packages while the miniconda distribution is just the management system without any pre-loaded packages. If one uses miniconda, one has to download individual packages and libraries separately.

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

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

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

A​​naconda 是一个非常大的安装 ~ 2 GB,对于那些不熟悉使用其他包管理器安装模块或包的用户来说最有用。

A​​naconda 似乎在宣传自己是 Jupyter 的官方包管理器。不是。 Anaconda 在安装时捆绑了 Jupyter、R、python 和许多软件包。

A​​naconda 不是安装 Jupyter Lab 或 R 内核所必需的。在其他地方有很多关于安装 Jupyter Lab 或 Notebooks 的信息。在其他地方也有很多关于安装 R studio 的信息。下面展示如何直接从R Studio安装R内核:

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

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

完成。下次打开Jupyter,R内核就可用了。

简介

conda 既是命令行工具,又是 python 包。

Miniconda 安装程序 = Python + conda

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

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

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

详情

  1. conda 是 python 管理员和环境管理员,这使得

    成为可能
    • 使用 conda install flake8
    • 安装包
    • 使用 Python 和 conda create -n myenv python=3.6
    • 的任何版本创建环境
  2. Miniconda 安装程序 = Python + conda

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

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

  3. Anaconda 安装程序 = Python + conda + 元数据包 anaconda

  4. meta Python 包 anaconda = 大约 160 Python 数据科学日常使用的包

    Meta packages, are packages that do NOT contain actual softwares and simply depend on other packages to be installed.

    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 安装相同,只是安装文件夹名称不同。

  5. Miniconda2 v.s。迷你康达。 Anaconda2 v.s。蟒蛇.

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