Skip to content

Conda

Conda is a language-agnostic, cross-platform package and environment manager. Where pip installs Python packages from PyPI, conda resolves dependencies across Python, R, C/C++, Fortran, and other languages in a single dependency graph.

Note

Conda is the package manager. Anaconda is a distribution that bundles conda with 1,500+ pre-installed packages. See Understanding the Conda/Anaconda Ecosystem for how conda, Miniconda, Miniforge, and Anaconda relate.

Key Features

  • Cross-language dependency resolution. A single environment specification can pin Python, R, CUDA toolkits, and compiled C/Fortran libraries together. The solver tracks version constraints across all of them.
  • Python version management. Conda treats the Python interpreter as a package. An environment file can pin python=3.12.4, and conda installs that exact version alongside everything else.
  • libmamba solver (default since 23.10). Conda’s dependency resolver uses libmamba, a C++ solver ported from the mamba project. It reduced solve times by 50-80% compared to the legacy Python solver. An experimental rattler-based solver written in Rust is also available.
  • Multiple distribution paths. Available through Miniconda (minimal), Anaconda (batteries-included), or Miniforge (defaults to conda-forge, no commercial license restrictions).
  • Reproducible environment export. conda env export captures every package, version, and build string. conda env export --from-history records only explicitly requested packages for cross-platform sharing.
  • Lockfile support. The conda CLI generates and installs native lockfiles, bringing reproducibility closer to what pixi and uv offer.

When to Use Conda

Conda solves problems that Python-only package managers cannot when a project depends on non-Python compiled libraries (CUDA, MKL, HDF5, GDAL, NetCDF) or spans multiple languages. Data science and scientific computing teams that need a single environment covering Python and R packages alongside system-level C/Fortran libraries are the primary audience.

For pure Python projects, uv provides faster installs, tighter PyPI integration, and a simpler workflow. See Why should I choose conda? and uv vs. Pixi vs. Conda for scientific Python for detailed comparisons.

Notable Features

  • Sharded repodata (CEP 16). Conda fetches package metadata more efficiently from channels that support sharding, reducing the data transferred before a solve.
  • conda-pypi plugin (public beta). The official direction for installing PyPI packages inside conda environments. Records every PyPI install in conda-meta where the solver can track it, replacing ad-hoc pip install commands.
  • Formalized specifications (CEPs 29-38). Ten Conda Enhancement Proposals standardize package naming, version comparison, MatchSpec syntax, the .conda format, repodata, and conda-lock.yml. Conda, mamba, pixi, and rattler share a single specification.
  • Python 3.14 support. The minimum supported Python version is 3.10.

Pros

  • Resolves Python and non-Python dependencies in a single graph
  • Manages Python interpreters alongside packages
  • conda-forge provides 30,000+ community-maintained packages with automated builds
  • Cross-platform: Linux, macOS, Windows, aarch64
  • libmamba solver makes resolution competitive with newer tools
  • Enterprise-friendly with private channel and mirror support

Cons

  • Packages come from conda channels, not PyPI, creating a parallel ecosystem. Mixing conda and pip in one environment risks dependency conflicts because pip-installed packages are invisible to conda’s solver.
  • The default Anaconda channel requires a paid license for organizations above 200 employees. Avoidable by using conda-forge via Miniforge, but teams must configure channels deliberately.
  • Environments are larger than typical Python virtual environments because they bundle compiled system libraries.
  • The global-environment-by-default workflow feels heavier than the project-local model in uv or pixi.

Learn More

Handbook pages

Official documentation

Last updated on