OS-agnostic, system-level binary package manager and ecosystem
.. NOTE: This file serves both as the README on GitHub and the index.html for conda.pydata.org. If you update this file, be sure to cd to the web directory and run
make html; make live
.. image:: https://s3.amazonaws.com/conda-dev/conda_logo.svg :alt: Conda Logo
.. image:: https://github.com/conda/conda/workflows/CondaCI/badge.svg :target: https://github.com/conda/conda/actions?query=workflow%3ACondaCI+branch%3Amaster :alt: CI Tests (GitHub Actions)
.. image:: https://img.shields.io/codecov/c/github/conda/conda/master.svg?label=coverage :alt: Codecov Status :target: https://codecov.io/gh/conda/conda/branch/master
.. image:: https://img.shields.io/github/release/conda/conda.svg :alt: latest release version :target: https://github.com/conda/conda/releases
Conda is a cross-platform, language-agnostic binary package manager. It is the package manager used by
Anaconda_ installations, but it may be used for other systems as well. Conda makes environments first-class citizens, making it easy to create independent environments even for C libraries. Conda is written entirely in Python, and is BSD licensed open source.
Conda is enhanced by organizations, tools, and repositories created and managed by the amazing members of the conda community. Some of them can be found
here_.
Conda is a part of the
Anaconda Distribution. Use
Minicondato bootstrap a minimal installation that only includes conda and its dependencies.
If you install Anaconda, you will already have hundreds of packages installed. You can see what packages are installed by running
.. code-block:: bash
$ conda list
to see all the packages that are available, use
.. code-block:: bash
$ conda search
and to install a package, use
.. code-block:: bash
$ conda install
The real power of conda comes from its ability to manage environments. In conda, an environment can be thought of as a completely separate installation. Conda installs packages into environments efficiently using
hard links_ by default when it is possible, so environments are space efficient, and take seconds to create.
The default environment, which
condaitself is installed into is called
base. To create another environment, use the
conda createcommand. For instance, to create an environment with the IPython notebook and NumPy 1.6, which is older than the version that comes with Anaconda by default, you would run
.. code-block:: bash
$ conda create -n numpy16 ipython-notebook numpy=1.6
This creates an environment called
numpy16with the latest version of the IPython notebook, NumPy 1.6, and their dependencies.
We can now activate this environment, use
.. code-block:: bash
# On Linux and Mac OS X $ source activate numpy16
# On Windows
activate numpy16
This puts the bin directory of the
numpy16environment in the front of the
PATH, and sets it as the default environment for all subsequent conda commands.
To go back to the base environment, use
.. code-block:: bash
# On Linux and Mac OS X $ source deactivate
# On Windows
deactivate
You can easily build your own packages for conda, and upload them to
anaconda.org, a free service for hosting packages for conda, as well as other package managers. To build a package, create a recipe. Package building documentation is available
here. See https://github.com/AnacondaRecipes for the recipes that make up the Anaconda Distribution and
defaultschannel.
Conda-forge_ and
Bioconda_ are community-driven conda-based distributions.
To upload to anaconda.org, create an account. Then, install the anaconda-client and login
.. code-block:: bash
$ conda install anaconda-client $ anaconda login
Then, after you build your recipe
.. code-block:: bash
$ conda build
you will be prompted to upload to anaconda.org.
To add your anaconda.org channel, or the channel of others to conda so that
conda installwill find and install their packages, run
.. code-block:: bash
$ conda config --add channels https://conda.anaconda.org/username
(replacing
usernamewith the user name of the person whose channel you want to add).
The documentation for conda is at https://conda.io/en/latest/. You can subscribe to the
conda mailing list. The source code and issue tracker for conda are on
GitHub.
Contributions to conda are welcome. See the
contributing_ documentation for instructions on setting up a development environment.