Jupyter Notebookが保存されていません: '_ xsrf'引数が投稿にありません


161

私は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拡張子や「%」文字がありません。

助けてくれてありがとう!


15
あなたが検索をするならば、このトピックに関してオンラインで議論があります。私が見た提案の1つは、同じノートブックを新しいブラウザウィンドウで開くことです。これにより、問題が修正されます。次に、その新しいウィンドウを閉じて、前のウィンドウで作業を続けることができます。
AlexK

@AlexKに感謝します、それは私のMBPの同じ問題を解決します。
RandomWalker

回答:


303

私が見つけた最も簡単な方法はこれです:

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

同じカーネルで別の(実行されていない、既存の)ノートブックを開くだけで、問題は魔法のようになくなります。以前に_xsrfエラーが表示されていたノートブックを再度保存できます。

すでにJupyterホームページを閉じている場合は、Jupyterを起動した端末にリンクがあります。


21
これは私の日を救った。この解決策に出くわしていなかったら、4日分の作業が失われていたでしょう。ありがとうございました!
HariDattada19年

14
新しいノートブックを開く必要はありませんでした。代わりに、ツリーを再度開き、カーネルを再接続しました。ある時点で、カーネルも再起動しました。
user6506 5419年

1
ノートブックリストを更新するまで、新しいノートブックを開くことさえ許可されませんでした。その後、新しいノートブックを開いたところ、エラーが消えました
。😄

2
回避策では、ノートブックが以前に作成されている必要があることに注意してください。そのため、実行されていない別の既存のノートブックを開き、新しいノートブックを作成したり、実行中のノートブックを開いたりしないでください。どちらも同じエラーが発生します。
mirekphd

5
これが私がstackoverflowを愛する理由です
アルバートチェン

78

私が出くわした解決策は単純すぎるようですが、うまくいきました。/ tree、別名Jupyterホームページに移動し、ブラウザーを更新します。働いた。


3
これは私にとってはうまくいきましたが、私の場合は別のノートブックを開くソリューションが失敗しました。
DISC-O

どの投稿に賛成したかがわかるので、忘れて1年後に戻ってきたときにどのソリューションを使用すればよいかがわかります。
エリック・

7

私は毎日jupyterノートブックを使用していますが、これまでこの問題を経験したことはありませんでした...今日まで。ノートブックを一日中開いていましたが、何も実行されていなかったため、明らかな理由もなく'_xsrf' argument missing from POST、右上にエラーメッセージが表示されて自動保存が停止しました。参考までに-これはpython3ノートブックです。

この問題の原因はわかりませんが、最近python3バージョンを3.7.2にアップグレードし、数日前の時点ですべてのサイトパッケージを最新バージョンにアップグレードしました。これが原因である可能性があります。

解決策としては、@ AlexKのコメントで示唆されているように、同じノートブックを新しいウィンドウ(実際には別のブラウザー)で開きました。

jupyter notebook list

ターミナルでログイントークン付きのURLを取得します。

その結果、ノートブックを開いて再び保存できるようになりましたが、最後に成功した自動保存以降に入力した情報が欠落していました。ありがたいことに、壊れたインスタンスはまだ開いていて、保存とは別に機能していたので、情報をコピーして貼り付けてから、[保存]をクリックするだけで済みました。したがって、これを試す場合は、壊れたインスタンスを開いたままにしてください。


3

「保存」ボタンをクリックすると、このエラーが発生します。この投稿と他のウェブサイトの回答に基づいて、私はちょうど解決策を見つけました。私のjupyterノートブックはpipからインストールされます。そこで、Windowsのコマンドラインで「jupyternotebook」と入力してアクセスします。

(1)新しいコマンドウィンドウを開き、新しいjupyterノートブックを開きます。古いノートブックにもう一度保存してみてください。今回は、エラーは「失敗:禁止」です。

(2)次に、古いノートブックで[名前を付けてダウンロード]をクリックすると、新しいウィンドウが表示され、トークンを要求されます。

ここに画像の説明を入力してください

(3)別のコマンドウィンドウを開き、次に別のjupyterノートブックを開き、「jupyterノートブックリスト」と入力します。「token =」の後、::の前のコードを今表示したボックスにコピーします。この時間を節約できます。失敗した場合は、リスト内の別のトークンを試すことができます


これは私のためにそれをしました、ありがとう!最後のステップを明確にしたかっただけです。あなたが何を意味するのかを理解するのに1分かかりました。コマンドは、jupyter notebook list間に登場する文字の長い文字列でその一部が長いURL、吐き出すだろうtoken=とは::。この文字列をコピーして、手順(2)の[パスワードまたはトークン]ボックスに貼り付けると、元のjupyterノートブックの「禁止」エラーが消えます。
ホルヘアウレリオメネンデス

3

私のために働いた唯一の解決策は:

  1. Chromeで新しいタブを開きました
  2. 貼り付けました:http:// localhost:8888 /?token = ..... ..
  3. それから私は元のノートブックに行き、それを保存することができました

2

この問題を解決するための1つの回避策は次のとおりです。

  1. 保存できないノートブックをダウンロードするには、[ファイル]-> [名前を付けてダウンロード]-> [ノートブック(ipynb)]に移動します。

  2. jupyterブラウザUIでダウンロードしたファイルをクリックして、ダウンロードしたノートブックを開きます

これで、このノートブックをjupyter UIから保存(または名前変更)できるようになります。


別のノートブックを開いても解決しませんでしたが、解決しました(つまり、nbをダウンロードしました)
Alex

2

私の場合、この問題は「カーネル」(ノートブックの上部に表示)をクリックしてから「再接続」をクリックすることで解決しました。

追加された注記:Jupyterの一部のバージョンでは、「再接続」がありません。


1

nvidia dockerのイメージを使用して、同じ問題(ノートブックと.pyモジュールのいずれかを保存できない)が発生しました。解決策は、何も入力せずにjupyter内のターミナルを開くだけで、ファイルが保存されたら終了します。同じブラウザ/ jupyterインスタンスで実行されました。

マシンOS:Ubuntu 18.04


0

開発者設定を開き、コンソールをクリックして、次のように入力します

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

次に、ノートブックを保存してみてください。以前は保存していなかったノートブックが保存されます。


0

これが最も簡単な方法です。

新しいノートブックを開く必要はありませんでした。代わりに、ツリーを再度開き、カーネルを再接続しました。ある時点で、カーネルも再起動しました。– user6506 5419年10月9日0:17


それ以外の場合は、常に「コミュニティwiki」の回答オプションがあります
Vega

0

「カーネル」ドロップダウンメニューをクリックして「割り込み」を選択することで、それを解決することができました。


0

Jupyter Labを使用している場合、最も投票された回答は機能しないようです。ただし、これはそうです。URLを新しいタブにコピーし、「lab」を「tree」に置き換え、Enterキーを押してページをロードするだけです。それはあなたのセッションのための新しいcsrfトークンを生成します、そしてあなたは行ってもいいです!

将来作業が失われる心配を避けるために、デフォルトで[設定]> [ドキュメントの自動保存]を有効にすることをお勧めします。非常に定期的に保存されるため、タイムアウトが発生する前にすべてを最新の状態にする必要があります。

新しいノートブックを開く必要はありませんでした。代わりに、ツリーを再度開き、カーネルを再接続しました。ある時点で、カーネルも再起動しました。– user6506 5419年10月9日0:17


0

私の場合、ホームページのタブを閉じています。Jupyterを再度開いた後、エラーは自動的に解消され、ファイルを保存できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.