Невозможно импортировать объекты 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 перед запуском ядра.