diff --git a/_posts/2023-06-20-conda_setup.md b/_posts/2023-06-20-conda_setup.md new file mode 100644 index 0000000..620a354 --- /dev/null +++ b/_posts/2023-06-20-conda_setup.md @@ -0,0 +1,54 @@ +--- +title: My Jupyter and Conda setup +date: 2022-02-02 +layout: post +image: +--- + +These are my notes to myseld about how to setup my jupyter environments because I always forget + +### Use micromamba instead of conda +Mamba is hugely faster than conda. Use minimamba installed with brew. + +Put this in the `~/.condarc` (which mamba obeys): +```yaml +channel_priority: strict +channels: + - conda-forge +``` + +### Jupyter environmnet +Create a `jupyter_env.yaml` file (so that you can tear it down and rebuild it when everything explodes) + + +Create env from file: `mamba env create -f file.yaml` +Remove env by name: `mamba env remove -y -n envname` +Export only manually installed packages to file: `mamba env export --from-history` + +```yaml +name: jupyter +channels: + - conda-forge +dependencies: + - python=3.11 + - jupyterlab + - nb_conda_kernels # This makes conda envs visible to jupyterlab + - jupyterlab_widgets # Makes ipywidgets work in jupyterlab +``` +Notes: +(making mamba kernels visible)[https://github.com/Anaconda-Platform/nb_conda_kernels] +(making ipywidgets work)[https://ipywidgets.readthedocs.io/en/latest/user_install.html#installing-the-jupyterlab-extension] +Can get a env yaml with `conda env export --from-history` + +#### Child environments +To make other environments visible to the jupyter lab instance and make ipqidgets work (i.e for tqdm progress bars) you need two extra packags: + +```yaml +name: child +channels: + - conda-forge +dependencies: + - python=3.11 + - ipywidgets # The child to jupyterlab_widgets + - ipykernel # The child to nb_conda_kernels +``` \ No newline at end of file