Jupyter notebook 在通过 /etc/rc.local 运行时找不到内核
Posted
技术标签:
【中文标题】Jupyter notebook 在通过 /etc/rc.local 运行时找不到内核【英文标题】:Jupyter notebook can't find kernel when run through /etc/rc.local 【发布时间】:2016-06-13 21:28:04 【问题描述】:我在带有 python2(默认)和 ITorch 内核的 EC2 实例上有一个 Jupyter Notebook 服务器。通过 SSH 命令行运行时一切正常。
问题是当我尝试让它在启动时运行时,笔记本服务器找不到 ITorch 内核。不过,我在 python 笔记本上工作得很好。我得到的错误是一个窗口说
Kernel not found
I couldn't find a kernel matching iTorch. Please select a kernel: (python2)
我所做的是将此行添加到/etc/rc.local
/home/ubuntu/anaconda2/bin/jupyter-notebook --JupyterApp.config-file=/home/ubuntu/.jupyter/jupyter_notebook_config.py &> /dev/null &
笔记本服务器显然运行良好。这是来自系统日志
ip-172-31-20-152 login: [32m[I 12:20:51.073 NotebookApp][0;10m Serving notebooks from local directory: /home/ubuntu/notebook
[32m[I 12:20:51.076 NotebookApp][0;10m 0 active kernels
[32m[I 12:20:51.078 NotebookApp][0;10m The Jupyter Notebook is running at: https://[all ip addresses on your system]:8888/
[32m[I 12:20:51.081 NotebookApp][0;10m Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
这些是我在配置文件中修改的唯一行
# Configuration file for jupyter-notebook.
c = get_config()
c.NotebookApp.notebook_dir = u'/home/ubuntu/notebook'
c.NotebookApp.certfile = u'/home/ubuntu/certs/mycert.pem'
c.NotebookApp.keyfile = u'/home/ubuntu/certs/mycert.key'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'<password>'
c.NotebookApp.port = 8888
【问题讨论】:
ITorch 内核可能是为您的用户设置的,当系统运行它时,它是另一个用户。运行jupyter kernelspec list
查看内核在哪里,如果ITorch在你的主目录下,复制到/usr/local/share/jupyter/kernels/
做到了。很简单!我想我需要提高我的unix技能。谢谢。
【参考方案1】:
@Thomas K 评论解决了它:
"ITorch 内核可能是为您的用户设置的,当系统运行它时,它是另一个用户。运行jupyter kernelspec list
以查看内核在哪里,如果 ITorch 在您的主目录下,请将其复制到/usr/local/share/jupyter/kernels/
"。
【讨论】:
以上是关于Jupyter notebook 在通过 /etc/rc.local 运行时找不到内核的主要内容,如果未能解决你的问题,请参考以下文章
CAFFE:Ubuntu 下安装jupyter notebook