我已经在jupyter笔记本上运行了大约26个小时的脚本;我没有真正使用我的电脑做任何其他事情,但它需要运行这个程序,需要大约30个小时才能完成。大约21小时后,它停止保存,我的终端出现了这样的情况:

403 PUT /api/contents/[file.ipynb] (::1): '_xsrf' argument missing from POST

(文件的地方。Ipynb]是我的jupyter笔记本的位置。它还说:

'_xsrf' argument missing from post

在笔记本的右上角。程序仍在运行,我不想重新启动jupyter notebook,不得不再次运行程序,因为我有一个截止日期,还有什么我可以做的吗?

我使用谷歌chrome,但我没有LastPass扩展或任何'%'字符在我的代码,作为另一个帖子建议。

谢谢你的帮助!


当前回答

你可以通过启动JupyterLab来禁用XSRF检查:

jupyter lab --ServerApp.disable_check_xsrf=True

这可能意味着您的服务器没有经过令牌验证。例如,您可能已经启动了JupyterLab:

jupyter lab --NotebookApp.token='' --NotebookApp.password=''

这也可能意味着您在本地机器上运行JupyterLab,而您的服务器无法远程访问,所以这没有问题。

但是通常要注意,如果您的服务器没有身份验证,那么它很容易受到XSRF的攻击。

其他回答

在我的情况下,我有一个关闭标签的主页。重新打开Jupyter后。错误自动消失,我们可以保存文件。

你可以通过启动JupyterLab来禁用XSRF检查:

jupyter lab --ServerApp.disable_check_xsrf=True

这可能意味着您的服务器没有经过令牌验证。例如,您可能已经启动了JupyterLab:

jupyter lab --NotebookApp.token='' --NotebookApp.password=''

这也可能意味着您在本地机器上运行JupyterLab,而您的服务器无法远程访问,所以这没有问题。

但是通常要注意,如果您的服务器没有身份验证,那么它很容易受到XSRF的攻击。

我在nvidia docker中使用图像时遇到了同样的问题(不可能保存笔记本和.py模块)。解决方案是在jupyter中打开一个终端,不需要输入任何东西,只需要在文件保存后退出。它是在相同的browser/jupyter实例中完成的。

机器操作系统:Ubuntu 18.04

我也遇到了同样的错误。我刚刚打开另一个不运行的朱庇特笔记本电脑,一个错误自动消失了。

其余的答案对我不起作用。我转到localhost:8888,点击“运行”,然后从那里关闭笔记本电脑。然后我切换回原来的笔记本,点击“不要重新启动”。之后,保存笔记本电脑并重新启动。