水蟒vs.小蟒蛇

蟒蛇库中,有两种类型的安装程序:

"蟒蛇的安装程序"和"Miniconda安装程序"。

它们的区别是什么?

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

312199 次浏览

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

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

现在在包管理端有了新的选项。mamba可以用来替换conda。它有一个更快的求解器,并且完全是用c++重写的。这个求解器实际上可以在conda中通过--experimental-solver=libmamba进行实验。如果你想了解更多,关键字寻找:mambamambaforgemicromamba

Anaconda2中的2意味着Python的主版本将是2。X而不是3。x安装在Anaconda3。当前版本包含Python 2.7.13。

4.4.0.1是Anaconda的版本号。当前发布的版本是4.4.0,我假设.1是一个小版本或用于其他类似用途。我使用的Windows发行版在文件名中只说4.4.0

其他人已经解释了水蟒和Miniconda的区别,所以我就跳过这个。

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

Anaconda包括Python和conda,另外还捆绑了一套其他用于科学计算的预安装包。由于这个包的大小,预计安装将消耗几个gb的磁盘空间。

来源:Jake VanderPlas的Python数据科学手册

更新:Anaconda背后的公司在2020年更新了他们的服务条款,禁止商业使用。你不允许在超过200名员工的企业中使用Anaconda, Miniconda或Anaconda存储库中的包,除非你获得许可证。

根据原始文档:

选择Anaconda如果你:

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

选择Miniconda如果你:

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

我自己用Miniconda。水蟒是臃肿的。许多软件包从未使用过,如果需要,仍然可以轻松安装。

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

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

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

2-4.4.0.1是Anaconda安装包的版本号。奇怪的是,它并没有列在旧包装清单中。

2016年4月,Anaconda版本从2.5跳到4.0,以避免与Python版本2 &3.4.0版本包括“蟒蛇领航员”。

后续版本的发布说明可以在在这里中找到。

Anaconda和miniconda都使用conda包管理器。 然而,水蟒miniconda之间的主要区别是

Anaconda发行版预装了所有的包 miniconda分发只是一个没有任何管理系统 预装包。如果你使用miniconda,你必须下载 单独的包和库

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

miniconda的一个缺点是安装每个单独的包可能需要很长的时间。 相比之下,安装和使用Anaconda所花费的时间要少得多 然而,在anaconda (Glueviz QtConsole Orange3)中有一些包是我从未使用过的。我甚至不知道他们的目的。 所以anaconda的一个缺点是它占用多余的空间。

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

Anaconda似乎在宣传自己是Jupyter的官方包装经理。它不是。Anaconda在安装时捆绑了Jupyter、R、python和许多包。

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

要安装R内核,没有Anaconda,启动R Studio。在R终端窗口输入这三个命令:

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

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

短暂的

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

Miniconda installer = Python + conda

Anaconda installer = Python + conda + 元包 anaconda

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

Anaconda installer = Miniconda installer + conda install anaconda

细节

  1. conda是一个python管理器和一个环境管理器,这使得它可以

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

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

    基本上,Miniconda只是conda和它的最小依赖项conda安装的环境是“base”。环境,以前被称为“根”;环境。

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

  4. 元Python包anaconda =数据科学中日常使用的大约160个Python pkgs

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

    蟒蛇云下载一个anaconda元包,并从中提取内容。实际要安装的160多个包列在info/recipe/meta.yaml中。

    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 vs . Miniconda。水蟒2 vs水蟒。

    2表示conda的绑定Python解释器。环境是Python 2,而不是Python 3。