Как подключить R conda env к ноутбуку Jupyter - PullRequest
1 голос
/ 29 апреля 2020

Я создаю среду conda, используя следующий код

 conda create --prefix r_venv_conda r=3.3  r-essentials  r-base --y

Затем я активирую эту среду, выполнив

 conda activate r_venv_conda/

Затем я попытался запустить Jupyter Notebook (запустив jupyter notebook запустить jupyter, надеясь, что это соединит R env. Однако я получаю следующую ошибку

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'

Как я могу исправить эту проблему?

1 Ответ

0 голосов
/ 29 апреля 2020

Jupyter не распознает автоматически среды Conda, активированные или нет.

Модуль ядра

Во-первых, для среды, работающей в качестве ядра, необходимо установить соответствующий пакет ядра. В данном случае это r-irkernel, поэтому вам нужно запустить

conda install -n r_venv_conda r-irkernel

Для Python ядер это ipykernel.

Регистрация ядра

Секунда , ядра должны быть зарегистрированы в Jupyter. Если у вас установлен Jupyter через Conda (скажем, в Anaconda base env), то я рекомендую использовать пакет nb_conda_kernels , который позволяет автоматически обнаруживать готовые для ядра Conda-envs , Это должно быть установлено в env, в котором установлен jupyter (вам нужен только один!), Например, если это base , тогда

conda install -n base nb_conda_kernels

Пожалуйста, read документы для подробностей .

Если вы используете установку Jupyter на системном уровне (то есть, не устанавливаемую Conda), вам нужно вручную зарегистрировать ядро.

conda activate r_venv_conda
Rscript -e 'IRkernel::installspec(name="ir33", displayname="R 3.3")'

, где вы можете установить свои собственные значения для name и displayname. Для получения подробной информации см. IRkernel .

Запуск Jupyter

Если вы используете Jupyter с установленным Conda, опять же, он должен быть установлен только в одном env . Это env, который должен быть активирован перед запуском jupyter notebook. После запуска выберите ядро, которое вы будете использовать sh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...