Jupyter Notebook no se guarda: falta el argumento ‘_xsrf’ en la publicación

6 minutos de lectura

He estado ejecutando un script en cuadernos jupyter durante aproximadamente 26 horas; Realmente no he estado usando mi computadora para nada más, pero necesita ejecutar este programa que tardará unas 30 horas en completarse. Aproximadamente a las 21 horas, dejó de guardar y mi terminal tenía esto:

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

dónde [file.ipynb] es la ubicación de mi cuaderno jupyter. También dice:

'_xsrf' argument missing from post

en la parte superior derecha del cuaderno de nuevo. El programa aún se está ejecutando y no quiero reiniciar jupyter notebook y tener que ejecutar el programa nuevamente, ya que tengo una fecha límite, ¿hay algo más que pueda hacer?

Estoy usando Google Chrome, pero no tengo la extensión LastPass ni ningún carácter ‘%’ en mi código, como sugirió otra publicación.

¡Gracias por cualquier ayuda!

  • Hay discusiones en línea sobre este tema si haces una búsqueda. Una sugerencia que he visto hacer es abrir el mismo cuaderno en una nueva ventana del navegador, lo que soluciona el problema. Luego puedes cerrar esa nueva ventana y seguir trabajando en la anterior.

    – AlexK

    6 de marzo de 2019 a las 6:26

  • Gracias @AlexK, eso resuelve el mismo problema en mi MBP.

    – Caminante aleatorio

    13 de agosto de 2019 a las 21:17

  • Solo un consejo, en este tipo de casos, almacene sus variables importantes usando %store magia. De esa manera, incluso si su cuaderno se cerró y no se guardó, sus variables aún lo estarán, por lo que puede volver a mostrarlas.

    – Nefanth

    10 de noviembre de 2021 a las 3:18

  • @AlexK ¿Qué pasa con el código? ¿Se conservarán los cambios en el código si abro en una nueva ventana?

    – Factura

    26 de noviembre de 2021 a las 22:05

  • Actualización sobre mi comentario anterior: la sugerencia de @AlexK funciona y luego puede guardar el cuaderno original y cualquier cambio de código realizado. Gracias.

    – Factura

    26 de noviembre de 2021 a las 22:09


avatar de usuario
caxcaxcóatl

La forma más fácil que encontré es esta:

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

Simplemente abra otro cuaderno (que no se esté ejecutando, existente) en el mismo kernel, y el problema desaparecerá mágicamente; puede volver a guardar los cuadernos que anteriormente mostraban el _xsrf error.

Si ya ha cerrado la página de inicio de Jupyter, puede encontrar un enlace a ella en el terminal desde el que se inició Jupyter.

  • Esto salvó mi día. Se habrían perdido 4 días de trabajo si no hubiera encontrado esta solución. ¡Gracias!

    – Hari Dattada

    7 de octubre de 2019 a las 1:49

  • No necesité abrir un nuevo cuaderno. En su lugar, volví a abrir el árboly volvió a conectar el kernel. En algún momento también reinicié el kernel.

    – usuario650654

    9 de octubre de 2019 a las 0:17

  • Ni siquiera se me permitió abrir un nuevo cuaderno hasta que actualicé la lista de cuadernos. Después de eso, abrí un nuevo cuaderno y el error desapareció … 😄

    – Pavindu

    28 de abril de 2020 a las 2:36

  • Tenga en cuenta que la solución alternativa requiere que el cuaderno se haya creado antes, así que abra otro cuaderno existente que no se esté ejecutando, no cree uno nuevo ni abra uno en ejecución, ya que ambos generarían el mismo error.

    – mirekphd

    31 de mayo de 2020 a las 10:44

  • Por eso me encanta stackoverflow

    – Albert Chen

    2 de junio de 2020 a las 16:59

La solución que encontré parece demasiado simple, pero funcionó. Vaya a la página de inicio de /tree, también conocida como Jupyter, y actualice el navegador. Trabajó.

  • Esto funcionó para mí, mientras que la solución para abrir otro cuaderno falló en mi caso.

    – DISCO-O

    20 de abril de 2020 a las 20:19

  • Gracias a Dios, puedo ver qué publicaciones he votado a favor, así que sé qué solución usar cuando me olvide y vuelva en un año.

    -Eric

    22 oct 2020 a las 18:49


  • La respuesta aceptada no funcionó para mí, pero esto sí (aunque estoy usando Jupyter Lab en caso de que esto importe). No me atreví a actualizar mi Jupyter Lab (¿ejecutándose en mydomain.sth/lab?), porque podría haber perdido mis cambios, así que abrí mydomain.sth/tree como se sugiere aquí, actualicé y funcionó. ¡Gracias!

    – Verena Haunschmid

    31 de marzo de 2021 a las 7:30

  • La respuesta aceptada no funcionó para mí, pero esto sí. No estoy usando Jupyter Lab sino Jupyter Notebook con un kernel basado en conda.

    – chaqueta amarilla05

    31 de enero a las 0:47

La única solución que funcionó para mí fue:

  1. Abrí una nueva pestaña en Chrome
  2. Pegué: http://localhost:8888/?token=……
  3. luego fui a mi cuaderno original y pude guardarlo

  • Esto funcionó para mí, ninguno de los otros lo hizo.

    – rrpelgrim

    16 mayo 2021 a las 18:36

  • También funcionó para mí (tampoco lo hizo ninguno de los otros) y solo localhost: 8888 sin el token fue suficiente para mí 🙂

    – Fabian

    2 de agosto de 2021 a las 8:38

  • Esto también funcionó para mí. Hice clic derecho, pestaña duplicada. Cerré la pestaña duplicada y pude guardar en la pestaña de trabajo.

    – Dustin mayordomo

    1 oct 2021 a las 18:35

Uso cuadernos jupyter todos los días y nunca antes había experimentado este problema… hasta hoy. Tenía el portátil abierto todo el día pero no estaba ejecutando nada y luego, sin razón aparente, dejó de guardar automáticamente con el '_xsrf' argument missing from POST mensaje de error en la parte superior derecha. FYI: este es un cuaderno python3.

No sé la causa de este problema, pero recientemente actualicé mi versión de python3 a 3.7.2 y actualicé todos los paquetes de mi sitio a su última versión hace unos días, lo que posiblemente podría ser la causa.

En cuanto a una solución, como se sugiere en el comentario de @AlexK, abrí el mismo cuaderno en una nueva ventana (de hecho, un navegador diferente), usando

jupyter notebook list

en la terminal para obtener la URL con el token de inicio de sesión.

Esto resultó en que tuve la libreta abierta y guardable nuevamente, pero faltaba la información que había ingresado desde el último guardado automático exitoso. Afortunadamente, mi instancia rota todavía estaba abierta y funcionaba aparte de guardar, así que pude simplemente copiar y pegar la información y luego presionar guardar. Entonces, ¡mantén abierta la instancia rota si intentas esto!

Simplemente actualizar la pestaña del árbol funcionó para mí.

avatar de usuario
música_piano

Cuando hago clic en el botón ‘guardar’, aparece este error. Según las respuestas en esta publicación y otros sitios web, acabo de encontrar la solución. Mi cuaderno jupyter está instalado desde pip. Así que accedo escribiendo ‘jupyter notebook’ en la línea de comandos de Windows.

(1) abra una nueva ventana de comando, luego abra un nuevo cuaderno jupyter. intente guardar nuevamente en el cuaderno anterior, esta vez, el error es ‘falla: prohibido’

(2) Luego, en el cuaderno anterior, haga clic en ‘descargar como’, aparecerá una nueva ventana y le pedirá el token.

ingrese la descripción de la imagen aquí

(3) abra otra ventana de comandos, luego abra otro cuaderno jupyter, escriba ‘lista de cuadernos jupyter’ copie el código después de ‘token=’ y antes de :: en el cuadro que acaba de ver. Puedes ahorrar este tiempo. Si falla, puede probar con otro token en la lista

avatar de usuario
Sweta Shrestha

También me encontré con el mismo error. Acabo de abrir otra computadora portátil Juputer que no se ejecuta y un error desaparece automáticamente.

¿Ha sido útil esta solución?