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. The current stable release is 26.3.1 (March 2026).
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 exportcaptures every package, version, and build string.conda env export --from-historyrecords only explicitly requested packages for cross-platform sharing. - Lockfile support (new in 2026). Native lockfile generation and installation landed in the conda CLI, 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.
Recent Changes (2025-2026)
- 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. A supported way to install PyPI packages inside conda environments, replacing ad-hoc
pip installcommands that the solver cannot track. - Formalized specifications (CEPs 29-38). Ten Conda Enhancement Proposals ratified in March 2026 standardize package naming, version comparison, MatchSpec syntax, the
.condaformat, repodata, andconda-lock.yml. Conda, mamba, pixi, and rattler now share a single specification. - Python 3.14 support. Added in early 2026. Python 3.9 support was dropped; the minimum is now 3.10.
- Removed legacy APIs. Version 26.3.0 removed long-deprecated internals. Automation that imports conda’s Python API should check the release notes before upgrading.
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
- Why should I choose conda?
- Understanding the Conda/Anaconda Ecosystem
- Is Conda actually free?
- uv vs. Pixi vs. Conda for scientific Python
- conda-forge
- Pixi