A cross-platform package and environment manager that handles packages for any language (Python, R, C++, etc.) and manages fully isolated environments including the Python interpreter itself.
| Tool | Package Manager | Environment Manager | Scope |
|---|---|---|---|
| pip | ✅ | ❌ | Python only |
| venv | ❌ | ✅ | Python only |
| conda | ✅ | ✅ | Any language |
Key difference: pip installs from PyPI (may need compilation), conda installs pre-built binaries and can bundle non-Python deps (CUDA, MKL, etc.).
| Anaconda | Miniconda | |
|---|---|---|
| Size | ~3-5 GB | ~50-100 MB |
| Includes | conda + Python + 250+ packages | conda + Python only |
| GUI | Anaconda Navigator | No GUI |
Recommendation: Use Miniconda — lighter, install only what you need.
brew install --cask miniconda
conda init zsh
# Restart terminal
# Download
curl -O <https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh>
# Install
bash Miniconda3-latest-*.sh
# Restart terminal, verify
conda --version
# Create
conda create --name myenv python=3.11
# Activate
conda activate myenv
# Deactivate
conda deactivate