Anaconda (Python distribution) explained

Anaconda
Developer:Anaconda, Inc.[1] (previously Continuum Analytics)[2]
Released:0.8.0[3] /
Latest Release Version:2024.02-1
Latest Release Date:[4]
Programming Language:Python
Operating System:Windows, macOS, Linux
Genre:Programming language, machine learning, data science
License:Freemium (The Individual Edition is free software,[5] but the other editions are software as a service)[6]

Anaconda is a distribution of the Python and R programming languages for scientific computing (data science, machine learning applications, large-scale data processing, predictive analytics, etc.), that aims to simplify package management and deployment. The distribution includes data-science packages suitable for Windows, Linux, and macOS. It is developed and maintained by Anaconda, Inc., which was founded by Peter Wang and Travis Oliphant in 2012.[7] As an Anaconda, Inc. product, it is also known as Anaconda Distribution or Anaconda Individual Edition, while other products from the company are Anaconda Team Edition and Anaconda Enterprise Edition, neither of which is free.[8] [9]

Package versions in Anaconda are managed by the package management system conda.[10] This package manager was spun out as a separate open-source package as it ended up being useful on its own and for things other than Python.[11] There is also a small, bootstrap version of Anaconda called Miniconda, which includes only conda, Python, the packages they depend on, and a small number of other packages.[12]

Overview

Anaconda distribution comes with over 250 packages automatically installed, and over 7,500 additional open-source packages can be installed from PyPI as well as the conda package and virtual environment manager. It also includes a GUI, Anaconda Navigator,[13] as a graphical alternative to the command-line interface (CLI).

The big difference between conda and the pip package manager is in how package dependencies are managed, which is a significant challenge for Python data science and the reason conda exists.

Before version 20.3, when pip installed a package, it automatically installed any dependent Python packages without checking if these conflict with previously installed packages. It would install a package and any of its dependencies regardless of the state of the existing installation.[14] Because of this, a user with a working installation of, for example, TensorFlow, could find that it stopped working having used pip to install a different package that requires a different version of the dependent numpy library than the one used by TensorFlow. In some cases, the package would appear to work but produce different results in detail. While pip has since implemented consistent dependency resolution, this difference accounts for a historical differentiation of the conda package manager.[15]

In contrast, conda analyzes the current environment including everything currently installed, and, together with any version limitations specified (e.g. the user may wish to have TensorFlow version 2,0 or higher), works out how to install a compatible set of dependencies, and shows a warning if this cannot be done.

Open source packages can be individually installed from the Anaconda repository,[16] Anaconda Cloud (anaconda.org), or the user's own private repository or mirror, using the '''conda install''' command. Anaconda, Inc. compiles and builds the packages available in the Anaconda repository itself, and provides binaries for Windows 32/64 bit, Linux 64 bit and MacOS 64-bit (Intel, Apple Silicon). Anything available on PyPI may be installed into a conda environment using pip, and conda will keep track of what it has installed itself and what pip has installed.

Custom packages can be made using the '''conda build''' command, and can be shared with others by uploading them to Anaconda Cloud,[17] PyPI or other repositories.

The default installation of Anaconda2 includes Python 2.7 and Anaconda3 includes Python 3.7. However, it is possible to create new environments that include any version of Python packaged with conda.[18]

Anaconda Navigator

Anaconda Navigator is a desktop graphical user interface (GUI) included in Anaconda distribution that allows users to launch applications and manage conda packages, environments and channels without using command-line commands. Navigator can search for packages on Anaconda Cloud or in a local Anaconda Repository, install them in an environment, run the packages and update them. It is available for Windows, macOS and Linux.

The following applications are available by default in Navigator:[19]

Conda

See main article: Conda (package manager). Conda is an open source,[21] cross-platform,[22] language-agnostic[23] package manager and environment management system[24] [25] [26] that installs, runs, and updates packages and their dependencies.[21] It was created for Python programs, but it can package and distribute software for any language (e.g., R), including multi-language projects.[23] The conda package and environment manager is included in all versions of Anaconda, Miniconda,[27] and Anaconda Repository.[16]

Anaconda Cloud

Anaconda Cloud is a package management service by Anaconda where users can find, access, store and share public and private notebooks, environments, and conda and PyPI packages.[28] Cloud hosts useful Python packages, notebooks and environments for a wide variety of applications. Users do not need to log in or to have a Cloud account, to search for public packages, download and install them.

Users can build new packages using the Anaconda Client command line interface (CLI), then manually or automatically upload the packages to Cloud.

On February 13, 2024, Anaconda agreed with IBM to import its repository of Python packages into Watsonx, IBM's generative AI platform.[29]

See also

External links

Notes and References

  1. Web site: What is Anaconda, Inc.? . docs.anaconda.com . Anaconda is a software development and consulting company of passionate open source advocates based in Austin, Texas, USA. We are committed to the open source community. We created the Anaconda Python distribution and contribute to many other open source-based data analytics tools. . 2018-06-13 . 2019-03-27 . https://web.archive.org/web/20190327135143/http://docs.anaconda.com/anaconda-cloud/faq/#what-is-anaconda-inc . dead .
  2. Web site: Collison . Scott . Continuum Analytics Officially Becomes Anaconda . Anaconda Inc. corporate website . 22 April 2020. 2017-06-28 .
  3. Web site: Release notes — Anaconda 2.0 documentation . 2017-10-26 . https://web.archive.org/web/20181012114953/http://docs.anaconda.com/anaconda/release-notes/#id53 . 2018-10-12 . dead .
  4. Web site: Release notes — Anaconda documentation.
  5. Web site: End User License Agreement - Anaconda® Individual Edition . anaconda.com . Anaconda, Inc. . 29 January 2021 . 14 February 2021 . https://web.archive.org/web/20210214171917/https://www.anaconda.com/eula-anaconda-individual-edition . dead .
  6. Web site: Anaconda® Terms of Service . anaconda.com . Anaconda, Inc. . 12 February 2024.
  7. Web site: About Anaconda. 27 April 2020. https://web.archive.org/web/20200419034550/https://www.anaconda.com/media-kit/ . 19 April 2020. dead.
  8. Web site: Cover page . Anaconda Documentation . Anaconda, Inc. . 27 April 2020.
  9. Web site: Products and Pricing. anaconda.com . Anaconda, Inc. . 28 April 2020.
  10. Web site: Conda – Conda documentation . February 25, 2016.
  11. Web site: What's the difference between Anaconda, conda, and Miniconda?. FAQ - Bioconda documentation . 22 April 2020.
  12. Web site: Miniconda . conda.io . 2018-07-11 . https://web.archive.org/web/20180910152348/https://conda.io/docs/glossary.html#miniconda-glossary . 2018-09-10 . dead .
  13. Web site: Anaconda Navigator . docs.anaconda.com.
  14. Web site: User Guide - pip documentation v21.1.dev0. 2021-04-07. pip.pypa.io.
  15. Web site: Anaconda Understanding Conda and Pip. 2021-04-07. Anaconda. en.
  16. Web site: Anaconda repository . anaconda.org.
  17. Web site: Anaconda Cloud . anaconda.org.
  18. Web site: Managing Python with conda . conda.io . 2018-06-13 . https://web.archive.org/web/20180613160441/https://conda.io/docs/user-guide/tasks/manage-python.html . 2018-06-13 . dead .
  19. Web site: What application can I access using navigator? . docs.anaconda.com.
  20. Web site: The Qt Console for Jupyter . readthedocs.io.
  21. Web site: Conda. pydata.org. 9 April 2015.
  22. News: Building Conda Packages for Multiple Operating Systems. 9 April 2015. Pydannt. 29 January 2015.
  23. Web site: Conda for Data Science. Doig. Christine. 21 May 2015. https://web.archive.org/web/20150616211813/http://continuum.io/blog/conda-data-science. 16 June 2015. 16 Jun 2015. Conda works with Linux, OSX, and Windows, and is language agnostic, which allows us to use it with any programming language or even multi-language projects..
  24. Book: Gorelick (Author) . Micha . Ozsvald . Ian . High Performance Python: Practical Performant Programming for Humans . O'Reilly Media . 1st . September 2014 . 370 . 978-1449361594.
  25. Web site: Jackson . Joab . Python gets a big data boost from DARPA . networkworld . Feb 5, 2013 . October 30, 2014.
  26. Web site: Lorica . Ben . Python data tools just keep getting better . O'Reilly Radar . March 24, 2013 . October 30, 2014.
  27. Web site: Miniconda . conda.io . 2018-06-13 . https://web.archive.org/web/20180910152348/https://conda.io/docs/glossary.html#miniconda-glossary . 2018-09-10 . dead .
  28. Web site: Mathur . Natasha . Share projects and environment on Anaconda cloud [Tutorial] ]. Packt Hub . 9 August 2018.
  29. https://www.datanami.com/this-just-in/anaconda-partners-with-ibm-watsonx-to-deliver-enterprise-scale-ai-solutions/