279

我已经在 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 并且必须再次运行该程序,因为我有截止日期,我还能做些什么吗?

我正在使用谷歌浏览器,但我的代码中没有 LastPass 扩展名或任何 '%' 字符,正如另一篇文章所建议的那样。

谢谢你的帮助!

4

18 回答 18

553

我发现的最简单的方法是:

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

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

如果您已经关闭了 Jupyter 主页,则可以在启动 Jupyter 的终端上找到指向它的链接。

于 2019-04-09T21:12:29.873 回答
139

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

于 2019-09-19T22:29:16.780 回答
11

唯一对我有用的解决方案是:

  1. 我在 chrome 中打开了一个新标签页
  2. 我粘贴了:http://localhost:8888/?token=......
  3. 然后我去了我原来的笔记本,我能够保存它
于 2020-09-24T06:40:44.270 回答
8

我每天都使用 jupyter 笔记本,之前从未遇到过这个问题......直到今天。我整天打开笔记本,但它没有运行任何东西,然后无缘无故地停止自动保存,并'_xsrf' argument missing from POST在右上角显示错误消息。仅供参考 - 这是一个 python3 笔记本。

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

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

jupyter notebook list

在终端中获取带有登录令牌的 URL。

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

于 2019-03-14T17:11:00.257 回答
5

只需刷新树选项卡对我有用。

于 2021-10-17T16:05:23.400 回答
4

当我单击“保存”按钮时,出现此错误。根据这篇文章和其他网站的答案,我刚刚找到了解决方案。我的 jupyter notebook 是从 pip 安装的。所以我通过在 Windows 命令行中输入“jupyter notebook”来访问它。

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

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

在此处输入图像描述

(3)打开另一个命令窗口,然后打开另一个jupyter notebook,输入'jupyter notebook list',将'token='之后和::之前的代码复制到你刚刚看到的框中。你可以节省这个时间。如果失败,您可以尝试列表中的另一个令牌

于 2019-05-29T11:10:48.763 回答
3

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

于 2021-01-14T14:14:26.803 回答
2

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

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

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

现在,您应该可以从 jupyter UI 中保存(或重命名)这个笔记本了

于 2019-07-08T04:50:53.213 回答
2

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

补充说明:在某些版本的 Jupyter 中,没有“重新连接”。

于 2020-01-09T02:57:16.890 回答
1

使用 nvidia docker 中的图像,我遇到了同样的问题(无法保存笔记本和 .py 模块)。解决方案只是在 jupyter 中打开一个终端,无需输入任何内容,只需在文件保存后退出即可。它是在同一个浏览器/jupyter 实例中完成的。

机器操作系统:Ubuntu 18.04

于 2019-06-02T10:08:43.590 回答
0

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

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

然后尝试保存笔记本。之前未保存的笔记本现在将保存。

于 2019-12-23T07:53:59.603 回答
0

这是最简单的方法。

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

于 2020-02-20T06:58:56.827 回答
0

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

于 2020-08-07T02:49:08.797 回答
0

使用 Jupyter Lab 时,投票最多的答案似乎不起作用。然而,这个确实如此。只需将 url 复制到新选项卡中,将“lab”替换为“tree”,然后按 Enter 键加载页面。它将为您的会话生成一个新的 csrf 令牌,您就可以开始了!

我建议默认启用“设置”>“自动保存文档”,以避免担心将来会丢失工作。它会定期保存,因此在任何超时发生之前一切都应该是最新的。

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

于 2020-09-14T08:30:56.307 回答
0

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

于 2021-01-01T23:08:12.803 回答
0

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

于 2021-05-18T09:49:13.043 回答
0

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

于 2021-09-12T02:04:53.887 回答
0

刷新浏览器的标签后,错误就消失了。

于 2022-02-16T13:27:08.160 回答