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