0

在 jupyter notebook 中导入 rpy2.robjects 失败LookupError: 'show' not found,但是,导入在具有激活环境的命令行 python 解释器中工作。我怎样才能让它在笔记本中工作?

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

4

1 回答 1

0

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

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

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

于 2019-06-21T10:04:43.430 回答