Jupyter 内核错误,网络上的方法不起作用
Jupyter kernel error and the methods on web does not work
jupyter 内核错误。
[suzu@kusanagi71 ~]$ jupyter kernelspec list
Available kernels:
python3 /home/suzu/.local/share/jupyter/kernels/python3
[suzu@kusanagi71 ~]$ whereis python3
python3: /usr/bin/python3 /usr/local/bin/python3.7m /usr/local/bin/python3.7 /usr/local/bin/python3.7m-config /usr/local/bin/python3 /usr/local/bin/python3.7-config /usr/local/lib/python3.7 /usr/local/python3
[suzu@kusanagi71 ~]$ cd /home/suzu/.local/share/jupyter/kernels/python3
[suzu@kusanagi71 python3]$ ll
合計 12
-rw-rw-r-- 1 suzu suzu 156 10月 30 13:55 kernel.json
-rw-r--r-- 1 suzu suzu 1084 10月 30 11:11 logo-32x32.png
-rw-r--r-- 1 suzu suzu 2180 10月 30 11:11 logo-64x64.png
[suzu@kusanagi71 python3]$ nano kernel.json
[suzu@kusanagi71 python3]$
解决方法很简单,尝试删除无法启动的 kernelspec
路径。您可以使用以下命令执行此操作,然后重新 运行 jupyter:
$ rm -r /home/suzu/.local/share/jupyter/kernels/python3
为什么会这样?我想你试图创建一个与默认内核同名的内核,它覆盖了后者。
------ 12 月 13 日更新 ------
终于找到解决办法了!!!
因为jupyter 需要nginx 有websocket,所以如果你使用一般的backproxy 是不行的。
location /
{
proxy_pass http://192.168.91.138:18882;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
#缓存相关配置
#proxy_cache cache_one;
#proxy_cache_key $host$request_uri$is_args$args;
#proxy_cache_valid 200 304 301 302 1h;
#持久化连接相关 WebSocket 配置
proxy_connect_timeout 30s;
proxy_read_timeout 86400s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
expires 12h;
}
------原答案------
好的伙计们...
终于找到原因了,真的很奇怪
我使用 nginx 将 jupyter.mysite.com 代理到 localhost:8888
如果我输入mysite.com:8888,内核运行良好!
但是如果我输入jupyter.mysite.com,jupyter notebook 将找不到内核!
这是我的配置文件:
[suzu@kusanagi71 ~]$ cat /etc/nginx/conf.d/jupyter.mysite.com.conf
#=======================================
# jupyter.mysite.com
#---------------------------------------
server {
listen 8080;
server_name jupyter.mysite.com;
charset utf-8;
client_max_body_size 75M;
location / {
proxy_pass http://127.0.0.1:8888;
include /etc/nginx/uwsgi_params;
} } [suzu@kusanagi71 ~]$
顺便说一句,因为我住在中国,我让shadowsocks监听80端口,如果请求不是shadowsocks请求,它就扔到8080 nginx端口。
所以它可能真的很复杂。
我不知道为什么它不适用于 nginx...
但是我现在可以用8888访问了。
如果有人能告诉我如何修复它,并使其与 nginx 一起工作,我将不胜感激。
jupyter 内核错误。
[suzu@kusanagi71 ~]$ jupyter kernelspec list
Available kernels:
python3 /home/suzu/.local/share/jupyter/kernels/python3
[suzu@kusanagi71 ~]$ whereis python3
python3: /usr/bin/python3 /usr/local/bin/python3.7m /usr/local/bin/python3.7 /usr/local/bin/python3.7m-config /usr/local/bin/python3 /usr/local/bin/python3.7-config /usr/local/lib/python3.7 /usr/local/python3
[suzu@kusanagi71 ~]$ cd /home/suzu/.local/share/jupyter/kernels/python3
[suzu@kusanagi71 python3]$ ll
合計 12
-rw-rw-r-- 1 suzu suzu 156 10月 30 13:55 kernel.json
-rw-r--r-- 1 suzu suzu 1084 10月 30 11:11 logo-32x32.png
-rw-r--r-- 1 suzu suzu 2180 10月 30 11:11 logo-64x64.png
[suzu@kusanagi71 python3]$ nano kernel.json
[suzu@kusanagi71 python3]$
解决方法很简单,尝试删除无法启动的 kernelspec
路径。您可以使用以下命令执行此操作,然后重新 运行 jupyter:
$ rm -r /home/suzu/.local/share/jupyter/kernels/python3
为什么会这样?我想你试图创建一个与默认内核同名的内核,它覆盖了后者。
------ 12 月 13 日更新 ------
终于找到解决办法了!!! 因为jupyter 需要nginx 有websocket,所以如果你使用一般的backproxy 是不行的。
location /
{
proxy_pass http://192.168.91.138:18882;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
#缓存相关配置
#proxy_cache cache_one;
#proxy_cache_key $host$request_uri$is_args$args;
#proxy_cache_valid 200 304 301 302 1h;
#持久化连接相关 WebSocket 配置
proxy_connect_timeout 30s;
proxy_read_timeout 86400s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
expires 12h;
}
------原答案------
好的伙计们... 终于找到原因了,真的很奇怪
我使用 nginx 将 jupyter.mysite.com 代理到 localhost:8888
如果我输入mysite.com:8888,内核运行良好! 但是如果我输入jupyter.mysite.com,jupyter notebook 将找不到内核!
这是我的配置文件:
[suzu@kusanagi71 ~]$ cat /etc/nginx/conf.d/jupyter.mysite.com.conf
#=======================================
# jupyter.mysite.com
#---------------------------------------
server {
listen 8080;
server_name jupyter.mysite.com;
charset utf-8;
client_max_body_size 75M;
location / {
proxy_pass http://127.0.0.1:8888;
include /etc/nginx/uwsgi_params;
} } [suzu@kusanagi71 ~]$
顺便说一句,因为我住在中国,我让shadowsocks监听80端口,如果请求不是shadowsocks请求,它就扔到8080 nginx端口。
所以它可能真的很复杂。
我不知道为什么它不适用于 nginx...
但是我现在可以用8888访问了。
如果有人能告诉我如何修复它,并使其与 nginx 一起工作,我将不胜感激。