Overview
Conda manages isolated environments containing not just Python packages but binaries: CUDA toolkits, GDAL, R, compilers. When a dependency has a C library underneath — common across scientific computing — conda (via conda-forge) installs what pip cannot.
Why researchers use it
- Binary dependencies — CUDA, GDAL, BLAS handled without system-admin pain
- conda-forge — community channel with nearly everything scientific, kept current
- environment.yml — shareable, re-creatable environment specs for papers
Getting started
- Install Miniforge (conda-forge default, no licensing questions) rather than full Anaconda.
- conda create -n project python=3.12 numpy, then conda activate project.
- Export with conda env export –from-history > environment.yml and commit it beside your code.
The honest review
Strengths. Still the most practical answer for mixed-language, GPU, or geospatial stacks, and mamba’s solver speed (now default) removed the historic slowness complaint.
Limitations. Environments are heavy (gigabytes accumulate fast), –from-history exports are only as reproducible as your discipline, and Anaconda Inc.’s licensing for its default channel confuses institutions — hence Miniforge.