Home Knowledge Base Conda

Conda is an open-source package manager and environment manager that handles both Python packages AND non-Python dependencies — solving the critical problem that pip cannot install C libraries, CUDA toolkits, MKL math libraries, or specific Python versions, making conda the standard tool for scientific computing and machine learning environments where NumPy needs MKL, PyTorch needs CUDA, and different projects need different Python versions.

What Is Conda?

Anaconda vs Miniconda vs Mamba

DistributionSizeWhat's IncludedBest For
Anaconda~3GBPython + 250+ scientific packages pre-installedBeginners, want everything out-of-box
Miniconda~50MBPython + conda only (install what you need)Experienced users, CI/CD, Docker
Mamba~50MBDrop-in conda replacement (C++ solver, 10× faster)Anyone frustrated with conda's speed
Miniforge~50MBMiniconda but defaults to conda-forge channelOpen-source preference

Essential Commands

# Create environment with specific Python version
conda create -n myproject python=3.10

# Activate
conda activate myproject

# Install packages (from conda-forge for latest)
conda install -c conda-forge numpy pandas scikit-learn

# Install CUDA toolkit (pip can't do this!)
conda install -c conda-forge cudatoolkit=11.8

# Export environment
conda env export > environment.yml

# Reproduce elsewhere
conda env create -f environment.yml

Conda vs pip vs uv

Featurecondapip + venvuv
Python version managementYes (any version)No (use system Python)Yes
Non-Python packagesYes (CUDA, MKL, FFmpeg)NoNo
Dependency resolutionFull SAT solver (before install)Sequential (can break)Full resolver (fast)
SpeedSlow (use Mamba for 10× faster)FastFastest (Rust)
Environment fileenvironment.ymlrequirements.txtrequirements.txt
Best forScientific computing, CUDAWeb dev, general PythonModern Python projects

When to Use Conda vs pip

ScenarioUse CondaUse pip
Need specific CUDA versionCannot install CUDA
Need Python 3.8 + 3.11 on same machineUse pyenv + venv
Web development (Django, Flask)Overkill
Scientific stack (NumPy + MKL, SciPy)✓ (optimized builds)Works but slower
Docker/CI (minimal image)Miniconda✓ (lighter)

Conda is the standard environment manager for scientific Python and machine learning — uniquely capable of installing non-Python dependencies (CUDA, MKL, C libraries) alongside Python packages, solving complex dependency graphs before installation, and managing multiple Python versions per project, making it essential for data science teams working with GPU-accelerated ML frameworks.

condaenvironmentscientific

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.