请求实体太大:尽管配置了 max_body_size,但仍无法保存大型 Jupyter 笔记本

Óla*_*vur 5 python ipython jupyter jupyter-notebook

我有一个 JupyterLab 笔记本,当我尝试保存它时,它会抛出以下错误。

File Save Error for ld_matrix.ipynb
Invalid response: 413 Request Entity Too Large
Run Code Online (Sandbox Code Playgroud)

该笔记本包含一个图像图(通过Bokeh imageplot),大约 200 KB(所以不是很大)。

我尝试在 Jupyter 配置中增加c.NotebookApp.max_body_size(请参阅Jupyter 配置文档),但这没有帮助。我也尝试c.NotebookApp.max_buffer_size过也无济于事。

Jupyter 版本:

jupyter core     : 4.7.0
jupyter-notebook : 6.1.5
jupyter client   : 6.1.7
jupyter lab      : 2.2.9
Run Code Online (Sandbox Code Playgroud)

小智 0

抱歉,我只有(潜在的)部分解决方法。当我尝试使用localtunnel连接到我的服务器时,我遇到了同样的问题,但当我执行 ssh 端口转发时,我没有遇到该问题。

我的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
Run Code Online (Sandbox Code Playgroud)

我启动笔记本

nohup jupyter notebook --no-browser --port=8889
Run Code Online (Sandbox Code Playgroud)

我启动 ssh 端口转发

ssh -L 8889:127.0.0.1:8889 user@example.com
Run Code Online (Sandbox Code Playgroud)

user@example.com是我可以访问的远程服务器上的帐户,我希望在该帐户上运行笔记本服务器。

然后,我通过本地计算机的浏览器访问 localhost:8889 来访问笔记本。它们可以正确编辑和自动保存。

要使用 localtunnel 访问笔记本,我调用

nohup npx localtunnel --端口 8889 --subdomain mysubdomain

然后尝试使用 访问笔记本mysubdomain.loca.lt。当我保存笔记本时,右上角会出现一个棕色框,上面写着“请求实体太大”。有时,当我清除所有输出时,我可以保存,但并非总是如此。我确实更改了您更改的两个设置(实际上我的笔记本低于旧限制),但这没有帮助。为了确保确实设置了这些参数,我还尝试修改启动笔记本服务器的命令:

nohup jupyter笔记本 --no-browser --port=8889 --NotebookApp.max_buffer_size=numberofbytes --NotebookApp.max_body_size=numberofbytes

我不明白为什么 SSH 隧道神奇地为我解决了这个问题!理想情况下,我会让其他人仅使用笔记本密码来编辑我的笔记本,而不是使用我在远程服务器上的帐户的帐户密码,因此我希望使用像 localtunnel 这样的服务。