Why? My various projects, python versions, my macbook, my IDEs and virtual environments got unwieldy overtime.

| Conda | Pip |
|---|---|
| conda is a system package manager. conda virtual environments isolate projects like Docker containers. Read more. conda has different package repositories. | pip is a Python package manager. separately need a virtual environment is needed for pip to function the same way. Read more. pip has one global package repository (pypi). |
| Anaconda | Miniconda |
|---|---|
| CLI package manager, conda The latest version of Python supported and dependencies Anaconda navigator the GUI for apps, packages, environments and channels Packages for DS and ML | Conda Dependencies (Python) Navigator No packages, so it’s 10x smaller than Anaconda |
Getting started (post install):
- You start in the base environment. Never use the base environment for dev.
conda env list - You create a new environments for projects.
conda create --name example - You can specify different python versions.
conda create --name example python=3.9 - You can activate the environment for the project.
conda activate example - List packages in your environment.
conda list - Install packages.
conda install jupyterlab pandas dask pyplotipykernel - Install packages from other channels (repos).
conda install -c conda-forge conda-stats - Match the kernel to environment name.
python -m ipykernel install --user --name=example - Launch JupyterLab.
jupyter-lab - Close JupyterLab. (Ctrl+C)
- Deactivate current environment before switching.
conda deactivate
| ML/AI | ETL &Dashboard | R |
|---|---|---|
| pandas pytorch nltk scikit-learn | dask panel airflow pandas | r ggplot2 dplyr |
Supported IDEs that I also use:
- VSCode (General Dev)
- PyCharm (Python Heavy)
- Spyder (like MatLab/Octave)