mirror of
https://github.com/TomHodson/tomhodson.github.com.git
synced 2025-06-26 10:01:18 +02:00
58 lines
1.9 KiB
Markdown
58 lines
1.9 KiB
Markdown
---
|
||
title: Jupyter and Conda setup
|
||
date: 2023-06-20
|
||
layout: post
|
||
image: /assets/blog/mamba/logos.png
|
||
social_image: /assets/social/jupyter.png
|
||
alt: The orange, abstract, Jupyter logo and the Mamba logo which is a cute black snake.
|
||
---
|
||
|
||
These are my notes to myself about how to setup jupyter+conda/mamba environments.
|
||
|
||
### Use micromamba instead of conda
|
||
Mamba is hugely faster than conda. Use minimamba installed with brew.
|
||
|
||
Put this in the `~/.condarc` (which mamba obeys too):
|
||
```yaml
|
||
channel_priority: strict
|
||
channels:
|
||
- conda-forge
|
||
```
|
||
|
||
### Useful commands I always forget
|
||
Note I've added `-y` to these commands to skip the confirmation dialog.
|
||
Create env on command line: `mamba create -c conda-forge -n envname python=3.11 other_package ...`
|
||
Create env from file: `mamba env create -y -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`
|
||
|
||
### Jupyter environmnet
|
||
Create a `jupyter_env.yaml` file (so that you can tear it down and rebuild it when everything explodes). Install that.
|
||
|
||
```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
|
||
``` |