无法从Jupyter笔记本但在控制台中的conda环境中导入rpy2.robjects

时间:2018-10-10 12:27:07

标签: python jupyter-notebook conda rpy2 jupyter-kernel

使用LookupError: 'show' not found在jupyter笔记本中导入rpy2.robjects失败,但是,导入在具有激活环境的命令行python解释器中起作用。如何在笔记本中使用它?

我创建了安装了rpy2和ipykernel的conda环境,并通过python -m ipykernel install --user --name env --display-name "env"(在激活的环境中)将其链接到jupyter。我在jupyter kernelspec list提供的路径下在kernel.json中查找了环境的路径,发现它是我的正确环境之一。从激活的环境中启动jupyter笔记本并尝试导入rpy2.rojects时,我没有收到错误消息。我本以为这应该没有任何区别。此外,当通过./python中的~home/user/anaconda3/envs/env启动python解释器时,我确实获得了错误。在有或没有激活环境的情况下启动笔记本时,似乎某些环境变量的设置是不同的,但是我不知道该如何使用以及如何使用。我很乐意为您提供一些了解该问题的提示。

1 个答案:

答案 0 :(得分:0)

是否激活环境确实有所不同。您已经指出了一种解决方案,在激活的环境中启动Jupyter,内核将继承相应的环境变量。

Anaconda还有一个内核提供程序,可以在所有conda环境中查找内核,并在内核启动时自动激活环境。

另一种方法是编写自己的调用脚本的kernelspec。在该脚本中,您可以在启动内核之前激活conda环境。