Jupyter notebook 如果没有ssh隧道,远程Jupyter笔记本/Jupyter实验室无法连接到内核

Jupyter notebook 如果没有ssh隧道,远程Jupyter笔记本/Jupyter实验室无法连接到内核,jupyter-notebook,jupyter,remote-access,jupyter-lab,ubuntu-20.04,Jupyter Notebook,Jupyter,Remote Access,Jupyter Lab,Ubuntu 20.04,我在打开远程Jupyter Lab/Jupyter笔记本时遇到问题,它没有连接到内核,我在下面提到了安装步骤、出现的问题以及尝试修复的问题。我们非常欢迎任何解决方案、建议或指导。提前谢谢 安装步骤如下: 我正在Ubuntu 20.04 LTS中安装一个全新的Anaconda3。我设置了Jupyter笔记本/Jupyter实验室,以便使用远程访问(该计算机的IP为172.17.25.75),我引用了以下步骤: 步骤1.jupyter笔记本--生成配置 第2步。gedit/home/koushik/

我在打开远程Jupyter Lab/Jupyter笔记本时遇到问题,它没有连接到内核,我在下面提到了安装步骤、出现的问题以及尝试修复的问题。我们非常欢迎任何解决方案、建议或指导。提前谢谢

安装步骤如下: 我正在Ubuntu 20.04 LTS中安装一个全新的Anaconda3。我设置了Jupyter笔记本/Jupyter实验室,以便使用远程访问(该计算机的IP为
172.17.25.75
),我引用了以下步骤:

步骤1.
jupyter笔记本--生成配置

第2步。
gedit/home/koushik/.jupyter/jupyter\u notebook\u config.py
并编辑值
c.NotebookApp.allow\u origin='*'
c.NotebookApp.ip='0.0.0.0

步骤3。允许端口
sudo ufw允许8888

第4步。设置密码
jupyter笔记本密码

第5步。使用
Jupyter实验室-无浏览器启动Jupyter实验室
或使用
Jupyter笔记本-无浏览器启动Jupyter笔记本

并使用从我的计算机访问Jupyter Lab/Jupyter笔记本 在浏览器中

我在我的研究所代理服务器后面。当我使用ssh隧道连接到Jupyter实验室或Jupyter笔记本时
ssh-N-f-L localhost:8889:localhost:8888zuddler@172.17.25.75
和access
localhost:8889
一切正常。但是,当我不使用IP进行隧道传输和访问它们时,会发生以下错误

Jupyter实验室的问题: 运行命令
jupyter lab--no browser
时,以下是终端输出:

(base) zuddler@silplab:~$ jupyter lab --no-browser
[I 11:42:09.625 LabApp] JupyterLab extension loaded from /home/zuddler/anaconda3/lib/python3.8/site-packages/jupyterlab
[I 11:42:09.625 LabApp] JupyterLab application directory is /home/zuddler/anaconda3/share/jupyter/lab
[I 11:42:09.627 LabApp] Serving notebooks from local directory: /home/zuddler
[I 11:42:09.627 LabApp] Jupyter Notebook 6.1.4 is running at:
[I 11:42:09.627 LabApp] http://silplab:8888/
[I 11:42:09.627 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 11:42:15.449 LabApp] Build is up to date
(base) zuddler@silplab:~$ jupyter notebook --no-browser
[I 11:55:20.472 NotebookApp] JupyterLab extension loaded from /home/zuddler/anaconda3/lib/python3.8/site-packages/jupyterlab
[I 11:55:20.472 NotebookApp] JupyterLab application directory is /home/zuddler/anaconda3/share/jupyter/lab
[I 11:55:20.474 NotebookApp] Serving notebooks from local directory: /home/zuddler
[I 11:55:20.474 NotebookApp] Jupyter Notebook 6.1.4 is running at:
[I 11:55:20.474 NotebookApp] http://silplab:8888/
[I 11:55:20.474 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
在浏览器中打开并启动Python3笔记本时,它要求选择一个内核

屏幕截图1

在选择内核Python3时,它说

屏幕截图2

但是内核启动了,终端显示了下面的行

[I 11:46:47.547 LabApp]内核已启动:572fa891-918c-486c-997a-96dd19651968,名称:python3

从下面的截图也可以看出这一点

屏幕截图3

在选择标记的内核时,它会给出屏幕截图2中提到的相同错误

在执行jupyter kernelspec list时,返回了一个内核详细信息

(base) zuddler@silplab:~$ jupyter kernelspec list
Available kernels:
  python3    /home/zuddler/anaconda3/share/jupyter/kernels/python3
(base) zuddler@silplab:~$ jupyter kernelspec list
Available kernels:
  python3    /home/zuddler/anaconda3/share/jupyter/kernels/python3
Jupyter笔记本的问题: 运行命令
jupyter notebook--no browser
时,以下是终端输出:

(base) zuddler@silplab:~$ jupyter lab --no-browser
[I 11:42:09.625 LabApp] JupyterLab extension loaded from /home/zuddler/anaconda3/lib/python3.8/site-packages/jupyterlab
[I 11:42:09.625 LabApp] JupyterLab application directory is /home/zuddler/anaconda3/share/jupyter/lab
[I 11:42:09.627 LabApp] Serving notebooks from local directory: /home/zuddler
[I 11:42:09.627 LabApp] Jupyter Notebook 6.1.4 is running at:
[I 11:42:09.627 LabApp] http://silplab:8888/
[I 11:42:09.627 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 11:42:15.449 LabApp] Build is up to date
(base) zuddler@silplab:~$ jupyter notebook --no-browser
[I 11:55:20.472 NotebookApp] JupyterLab extension loaded from /home/zuddler/anaconda3/lib/python3.8/site-packages/jupyterlab
[I 11:55:20.472 NotebookApp] JupyterLab application directory is /home/zuddler/anaconda3/share/jupyter/lab
[I 11:55:20.474 NotebookApp] Serving notebooks from local directory: /home/zuddler
[I 11:55:20.474 NotebookApp] Jupyter Notebook 6.1.4 is running at:
[I 11:55:20.474 NotebookApp] http://silplab:8888/
[I 11:55:20.474 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
在浏览器中打开并启动之前创建的Python3笔记本时,它给出了错误
kernelnotfound
,要求选择一个内核

屏幕截图4

单击Set Kernel时,它给出了一个连接失败错误,如下所示

屏幕截图5

但是内核再次启动,终端显示了下面的行(类似于Jupyter实验室)

[I 11:55:42.447 NotebookApp]内核已启动:d6af7843-cf02-43ce-adc2-14a7659ee4ff,名称:python3

同样,在执行jupyter kernelspec list时,返回了一个内核细节

(base) zuddler@silplab:~$ jupyter kernelspec list
Available kernels:
  python3    /home/zuddler/anaconda3/share/jupyter/kernels/python3
(base) zuddler@silplab:~$ jupyter kernelspec list
Available kernels:
  python3    /home/zuddler/anaconda3/share/jupyter/kernels/python3
试图修正 尝试1。尝试使用
conda update jupyter
更新jupyter,它返回

(base) zuddler@silplab:~$ conda update jupyter
Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.
(base) zuddler@silplab:~$ which jupyter-notebook
/home/zuddler/anaconda3/bin/jupyter-notebook
(base) zuddler@silplab:~$ which jupyter-lab
/home/zuddler/anaconda3/bin/jupyter-lab
(base) zuddler@silplab:~$ which python
/home/zuddler/anaconda3/bin/python
因此,我试图检查我是否有最新版本的conda和jupyter,它返回:

(base) zuddler@silplab:~$ jupyter --version
jupyter core     : 4.6.3
jupyter-notebook : 6.1.4
qtconsole        : 4.7.7
ipython          : 7.19.0
ipykernel        : 5.3.4
jupyter client   : 6.1.7
jupyter lab      : 2.2.6
nbconvert        : 6.0.7
ipywidgets       : 7.5.1
nbformat         : 5.0.8
traitlets        : 5.0.5
(base) zuddler@silplab:~$ conda --version
conda 4.9.2
为了检查是否存在路径问题,我使用
检查了它,它返回了

(base) zuddler@silplab:~$ conda update jupyter
Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.
(base) zuddler@silplab:~$ which jupyter-notebook
/home/zuddler/anaconda3/bin/jupyter-notebook
(base) zuddler@silplab:~$ which jupyter-lab
/home/zuddler/anaconda3/bin/jupyter-lab
(base) zuddler@silplab:~$ which python
/home/zuddler/anaconda3/bin/python
因此,路径是正确的

我还在
.jupyter/jupyter\u notebook\u config.py
文件(as)中设置了
c.NotebookApp.allow\u remote\u access=True
,但它没有解决这个问题

试试2。为了确保内核有正确的python路径,我检查了
kernel.json
文件,python 3的路径是正确的

(base) zuddler@silplab:~$ cat /home/zuddler/anaconda3/share/jupyter/kernels/python3/kernel.json
{
 "argv": [
  "/home/zuddler/anaconda3/bin/python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3",
 "language": "python"
}
我进一步尝试将内核文件夹重命名为

像上面的例子一样,以
ipykernel/resources
结尾的路径就是这个默认内核。默认设置通常满足您的需要,因此如果
python3
kernelspec指向其他地方,并且您无法启动Python内核,请尝试删除或重命名该kernelspec文件夹以公开默认设置

执行的命令和输出如下,显示了默认内核:

(base) zuddler@silplab:~$ cd /home/zuddler/anaconda3/share/jupyter/kernels/
(base) zuddler@silplab:~/anaconda3/share/jupyter/kernels$ ls
python3
(base) zuddler@silplab:~/anaconda3/share/jupyter/kernels$ mv python3 python3_bak
(base) zuddler@silplab:~/anaconda3/share/jupyter/kernels$ cd ~
(base) zuddler@silplab:~$ jupyter kernelspec list
Available kernels:
  python3        /home/zuddler/anaconda3/lib/python3.8/site-packages/ipykernel/resources
  python3_bak    /home/zuddler/anaconda3/share/jupyter/kernels/python3_bak
但我也犯了同样的错误

试试3。我也试着遵循规则,但没有任何好处