Original source here https://janakiev.com/blog/jupyter-virtual-envs/
Steps
1. Create a virtual environment (with pip or conda. here showing a version with pip)
$python3 -m vent <name_of_env>
$source <name_of_env>/bin/activate
2. Install `ipykernel` package
$python3 -m pip install ipykernel
3. Add virtual environment to Jupyter notebook
$python3 -m ipykernel install --user --name=<name_of_env>
4. Remove virtual environment from Jupyter notebook
$jupyter kernelspec list # This should return a list of available environments
$jupyter kernelspec uninstall <name_of_env>