Jupyter Notebook无法保存:帖子中缺少“ _xsrf”参数

时间:2019-03-06 01:23:06

标签: python google-chrome anaconda jupyter-notebook

我已经在jupyter笔记本上运行了大约26个小时的脚本;我还没有真正将计算机用于其他用途,但是它需要运行此程序,该程序大约需要30个小时才能完成。大约21个小时后,它停止保存了,我的终端上显示了以下信息:

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

其中[file.ipynb]是我的jupyter笔记本的位置。它还说:

'_xsrf' argument missing from post

再次在笔记本右上角。该程序仍在运行,我不想重新启动jupyter Notebook,因为我有最后期限,所以我还能做些什么吗?

我正在使用Google Chrome,但我的代码中没有LastPass扩展名或任何'%'字符,

感谢您的帮助!

16 个答案:

答案 0 :(得分:9)

抱歉,就您的截止日期而言,这可能要迟到...我发现的最简单的方法是:

https://github.com/nteract/hydrogen/issues/922#issuecomment-405456346

只需在同一内核上打开另一个笔记本,问题就神奇地消失了;您可以再次保存以前显示_xsrf错误的笔记本。

答案 1 :(得分:8)

我遇到的解决方案似乎太简单了,但确实有效。转到/ tree aka Jupyter主页,然后刷新浏览器。工作。

答案 2 :(得分:2)

我每天使用jupyter笔记本,直到今天为止从未遇到过此问题。我整天都打开笔记本电脑,但是笔记本电脑什么都没运行,然后由于明显的原因,由于右上角的'_xsrf' argument missing from POST错误消息而停止了自动保存。仅供参考-这是一个python3笔记本。

我不知道此问题的原因,但是最近我已将python3版本升级到3.7.2,并将几天前所有站点包都升级到了最新版本,这可能是原因。

关于解决方案,正如@AlexK的评论所建议的那样,我使用新的窗口(实际上是不同的浏览器)在同一窗口中打开了同一笔记本

jupyter notebook list
在终端中

获取带有登录令牌的URL。

这导致我再次打开笔记本计算机并可以保存,但是自上次成功自动保存以来输入的信息丢失了。值得庆幸的是,我坏掉的实例仍然处于打开状态,除了保存以外,还可以进行其他工作,因此我可以简单地复制并粘贴信息,然后单击保存。因此,如果尝试此操作,请保持断开的实例处于打开状态!

答案 3 :(得分:2)

唯一适用于我的解决方案是:

  1. 我在chrome中打开了一个新标签页
  2. 我粘贴了:http:// localhost:8888 /?token = ......
  3. 然后我去了原来的笔记本,就可以保存了

答案 4 :(得分:1)

就我而言,通过单击“内核”(在笔记本顶部显示)然后单击“重新连接”解决了此问题。

答案 5 :(得分:0)

当我单击“保存”按钮时,出现此错误。根据本文和其他网站上的答案,我找到了解决方案。 我的jupyter笔记本是通过pip安装的。因此,我通过在Windows命令行中键入“ jupyter notebook”来访问它。

(1)打开一个新的命令窗口,然后打开一个新的jupyter笔记本。 尝试再次保存在旧笔记本中,这一次,错误是“失败:被禁止”

(2)然后在旧笔记本中,单击“下载为”,它将弹出一个新窗口,询问您令牌。

enter image description here

(3)打开另一个命令窗口,然后打开另一个jupyter笔记本,键入“ jupyter笔记本列表” 将代码复制到'token ='之后和::之前的代码中。您可以节省时间。如果失败,您可以尝试列表中的另一个令牌

答案 6 :(得分:0)

我在nvidia泊坞窗中使用映像时遇到了同样的问题(无法保存笔记本和.py模块)。解决的方法是在jupyter内部打开终端,不输入任何内容,而是在保存文件后退出。它是在同一浏览器/ jupyter实例中完成的。

机器操作系统:Ubuntu 18.04

答案 7 :(得分:0)

解决此问题的一种解决方法是:

  1. 通过以下方法下载无法保存的笔记本:文件->下载为->笔记本(ipynb)。

  2. 通过在jupyter浏览器UI上单击下载的文件来打开下载的笔记本

现在,您应该能够从jupyter UI中保存(或重命名)此笔记本

答案 8 :(得分:0)

打开开发人员设置,然后单击控制台并键入以下内容

JSON.parse(document.getElementById('jupyter-config-data')。textContent).token

然后尝试保存笔记本。以前未保存的笔记本将立即保存。

答案 9 :(得分:0)

只需重新启动系统即可。也许重新启动内核也可能有帮助。

答案 10 :(得分:0)

这是最简单的方法。

我不需要打开新笔记本。相反,我重新打开了树,并重新连接了内核。在某些时候,我还重新启动了内核。 – user650654 '19 Oct 9在0:17

答案 11 :(得分:0)

我可以通过单击“内核”下拉菜单并选择“中断”来解决它。

答案 12 :(得分:0)

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

答案 13 :(得分:0)

我也遇到了同样的错误。我刚刚打开另一个未运行的 Juputer 笔记本,错误自动消失了。

答案 14 :(得分:0)

对于在 AWS Sagemaker 上使用 jupyterlab 的任何人 - 复制选项卡足以解决问题。

答案 15 :(得分:-1)

使用Jupyter Lab时,投票最多的答案似乎无效。然而,这确实如此。只需将网址复制到新标签中,将“实验室”替换为“树”,然后按Enter键即可加载页面。它将为您的会话生成一个新的csrf令牌,您一切顺利!

我建议默认情况下启用“设置”>“自动保存文档”,以避免以后担心丢失工作。它非常节省时间,因此在任何超时发生之前,所有内容都应该是最新的。

我不需要打开新笔记本。相反,我重新打开了树,并重新连接了内核。在某些时候,我还重新启动了内核。 – user650654 '19 Oct 9在0:17