Блокнот Jupyter не сохраняется: аргумент '_xsrf' отсутствует в записи
Я работал над сценариями на ноутбуках 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, и мне приходится снова запускать программу, так как у меня есть крайний срок, могу ли я что-нибудь еще сделать?
Я использую Google Chrome, но у меня нет расширения LastPass или каких-либо символов "%" в моем коде, как предложено в другом посте.
Спасибо за любую помощь!
Ответы
Ответ 1
Извините, это, вероятно, приходит слишком поздно, если говорить о вашем крайнем сроке... Самый простой способ, который я нашел, это:
https://github.com/nteract/hydrogen/issues/922#issuecomment-405456346
Просто откройте другой блокнот в том же ядре, и проблема волшебным образом исчезнет; Вы можете снова сохранить записные книжки, в которых ранее отображалась ошибка _xsrf
.
Если вы уже закрыли домашнюю страницу Jupyter, вы можете найти ссылку на нее в терминале, с которого был запущен Jupyter.
Ответ 2
Я пользуюсь ноутбуками Jupyter ежедневно и никогда раньше не сталкивался с этой проблемой... до сегодняшнего дня. У меня весь день была открытая тетрадь, но она ничего не работала, а затем по непонятным причинам прекратил автосохранение с '_xsrf' argument missing from POST
сообщении об ошибке '_xsrf' argument missing from POST
в правом верхнем углу. К вашему сведению - это ноутбук на python3.
Я не знаю причину этой проблемы, но недавно я обновил свою версию python3 до 3.7.2 и обновил все мои пакеты сайтов до последней версии, которая могла быть причиной несколько дней назад.
Что касается решения, как предложено в комментарии @AlexK, я открыл ту же записную книжку в новом окне (на самом деле другой браузер), используя
jupyter notebook list
в терминале получить URL с токеном логина.
Это привело к тому, что я снова открыл и сохранил блокнот, но информация, которую я вводил с момента последнего успешного автосохранения, отсутствовала. К счастью, мой неработающий экземпляр все еще был открыт и работал помимо сохранения, поэтому я смог просто скопировать и вставить информацию, а затем нажать "Сохранить". Так что держите сломанный экземпляр открытым, если вы попробуете это!
Ответ 3
Когда я нажимаю кнопку "Сохранить", появляется эта ошибка. Основываясь на ответах в этом посте и других сайтах, я просто нашел решение. Мой ноутбук Jupyter установлен из пипса. Поэтому я получаю к нему доступ, набирая "jupyter notebook" в командной строке Windows.
(1) откройте новое командное окно, затем откройте новую записную книжку Jupyter. попробуйте снова сохранить в старой записной книжке, на этот раз ошибка "сбой: запрещено"
(2) Затем в старой записной книжке нажмите "загрузить как", появится новое окно с запросом токена.
(3) откройте другое командное окно, затем откройте другую записную книжку jupyter, введите "список записных книжек jupyter", скопируйте код после "token =" и перед :: в поле, которое вы только что увидели. Вы можете сэкономить это время. Если это не удалось, вы можете попробовать другой токен в списке
Ответ 4
Решение, с которым я столкнулся, кажется слишком простым, но оно сработало. Перейдите на домашнюю страницу /tree aka Jupyter и обновите браузер. Работал.
Ответ 5
1 обходной путь для решения этой проблемы:
-
Загрузите записную книжку, которую вы не можете сохранить, перейдя в: Файл → Загрузить как → Записная книжка (ipynb).
-
Откройте загруженную записную книжку, щелкнув загруженный файл в интерфейсе браузера jupyter.
Теперь вы сможете сохранить (или переименовать) этот блокнот из пользовательского интерфейса jupyter.
Ответ 6
У меня возникла та же проблема (невозможно сохранить ни записные книжки, ни модули .py) с помощью образа в докере nvidia. Решением было просто открыть терминал внутри jupyter, ничего не печатая, а завершить работу после сохранения файлов. Это было сделано в том же экземпляре браузера /Jupyter.
ОС ОС: Ubuntu 18.04