How to add conda environment to jupyter lab
The following worked for me
pip install nb_conda
https://github.com/Anaconda-Platform/nb_conda
Assuming your conda-env is named cenv
, it is as simple as :
$ conda activate cenv # . ./cenv/bin/activate in case of virtualenv
(cenv)$ conda install ipykernel
(cenv)$ ipython kernel install --user --name=<any_name_for_kernel>
(cenv)$ conda deactivate
If you restart your jupyter notebook/lab you will be able to see the new kernel available. For newer versions of jupyter kernel will appear without restarting the instance. Just refresh by pressing F5.
PS: If you are using virtualenv etc. the above steps hold good.
A solution using nb_conda_kernels
. First, install it in your base environment :
(base)$ conda install -c conda-forge nb_conda_kernels
Then in order to get a kernel for the conda_env cenv
:
$ conda activate cenv
(cenv)$ conda install ipykernel
(cenv)$ conda deactivate
You will get a new kernel named Python [conda env:cenv]
in your next run of jupyter lab
/ jupyter notebook
Note :
If you have installed nb_conda_kernels
, and want to create a new conda environment and have it accessible right away then
conda create -n new_env_name ipykernel
will do the job.
I tried both of the above solutions and they didn't quite work for me. Then I encountered this medium article which solved it: https://medium.com/@jeremy.from.earth/multiple-python-kernels-for-jupyter-lab-with-conda-c67e50de3aa3
Essentially, after running conda install ipykernel
inside of your cenv
environment, it is also good to run python -m ipykernel install --user --name cenv
within the cenv
environment - that way, we make sure that the version of python that is used within the jupyter environment is the one in cenv
. Cheers!