Невозможно импортировать объекты rpy2.robject из среды conda в блокнот Jupyter, но в консоль

Не удается импортировать rpy2.robjects в блокнот jupyter с LookupError: 'show' not foundОднако импорт работает в интерпретаторе Python командной строки с активированной средой. Как я могу заставить его работать в ноутбуке?

Я создал среду conda с установленными rpy2 и ipykernel и связал ее с jupyter через python -m ipykernel install --user --name env --display-name "env" (в активированной среде). Я искал путь среды в kernel.json по пути, предоставленному jupyter kernelspec list и обнаружил, что это правильное окружение. Я не получаю сообщение об ошибке, когда запускаю ноутбук jupyter из активированной среды и пытаюсь импортировать rpy2.rojects. Я бы подумал, что это не должно иметь никакого значения. Кроме того, при запуске интерпретатора Python через ./python в пределах ~home/user/anaconda3/envs/envЯ получаю ошибку. Кажется, некоторые переменные среды устанавливаются по-разному при запуске ноутбука с активированной средой или без нее, но я понятия не имею, что и как. Я буду рад любым подсказкам, чтобы понять проблему.

0 ответов

Действительно имеет значение, активирована ли среда. Вы уже указали одно решение: запустите Jupyter в активированной среде, и ядра унаследуют соответствующие переменные среды.

У Anaconda также есть провайдер ядра, который находит ядра во всех средах conda и автоматически активирует среду при запуске ядра.

Другой способ - написать собственную спецификацию ядра, которая вызывает сценарий. В этом сценарии вы можете активировать среду conda перед запуском ядра.

Другие вопросы по тегам