I am creating conda environment using following code
conda create --prefix r_venv_conda r=3.3 r-essentials r-base --y
Then I am activating this env by following
conda activate r_venv_conda/
Then I tried to run Jupyter Notebook (by running jupyter notebook
to run jupyter hoping that will connect R env. However, I am getting following error
Traceback (most recent call last):
File "/home/Documents/project/r_venv_conda/bin/jupyter-notebook", line 7, in <module>
from notebook.notebookapp import main
File "/home/Documents/project/r_venv_conda/lib/python3.6/site-packages/notebook/__init__.py", line 25, in <module>
from .nbextensions import install_nbextension
File "/home/Documents/project/r_venv_conda/lib/python3.6/site-packages/notebook/nbextensions.py", line 26, in <module>
from .config_manager import BaseJSONConfigManager
File "/home/Documents/project/r_venv_conda/lib/python3.6/site-packages/notebook/config_manager.py", line 14, in <module>
from traitlets.config import LoggingConfigurable
File "/home/Documents/project/r_venv_conda/lib/python3.6/site-packages/traitlets/config/__init__.py", line 6, in <module>
from .application import *
File "/home/Documents/project/r_venv_conda/lib/python3.6/site-packages/traitlets/config/application.py", line 38, in <module>
import api.helper.background.config_related
ModuleNotFoundError: No module named 'api'
How can I fix this issue?
Jupyter does not automatically recognize Conda environments, activated or not.
First, for an environment to run as a kernel, it must have the appropriate kernel package installed. For R environments, that is r-irkernel
, so that one needs to run
conda install -n r_venv_conda r-irkernel
For Python kernels, it's ipykernel
.
Second, kernels need to be registered with Jupyter. If one has Jupyter installed via Conda (say in an Anaconda base env), then I recommend using the nb_conda_kernels
package, which enables auto-discovery of kernel-ready Conda environments. This must be installed in the environment that has jupyter
installed (only one installation is needed!), for example, if this is base, then
conda install -n base nb_conda_kernels
Please read the documentation for details.
If using a system-level installation of Jupyter (i.e., not installed by Conda), then one needs to manually register the kernel. For example, something like
conda run -n r_venv_conda Rscript -e 'IRkernel::installspec(name="ir33", displayname="R 3.3")'
where one can set arbitrary values for name
and displayname
. See IRkernel for details.
If using a Conda-installed Jupyter, again, it only needs to be installed in a single env. This is the environment that should be activated before running jupyter notebook
. The kernel will be available to select from within Jupyter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With