Jupyter 노트북이 저장되지 않음 : 게시물에서 '_xsrf'인수가 누락되었습니다.


164

약 26 시간 동안 jupyter 노트북에서 스크립트를 실행했습니다. 나는 다른 용도로 내 컴퓨터를 실제로 사용하지 않았지만 완료하는 데 30 시간이 소요되는이 프로그램을 실행해야합니다. 약 21 시간 후 저장이 중지되었고 터미널에 다음이 포함되었습니다.

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

여기서 [file.ipynb]는 내 jupyter 노트북의 위치입니다. 또한 다음과 같이 말합니다.

'_xsrf' argument missing from post

다시 노트북의 오른쪽 상단 부분에 있습니다. 프로그램이 여전히 실행 중이며 jupyter 노트북을 다시 시작하고 기한이 있으므로 프로그램을 다시 실행하고 싶지 않습니다. 다른 조치를 취할 수 있습니까?

Google 크롬을 사용하고 있지만 다른 게시물에서 제안한대로 코드에 LastPass 확장 또는 '%'문자가 없습니다.

도움을 주셔서 감사합니다!


16
검색을하면이 주제에 대한 온라인 토론이 있습니다. 내가 본 한 가지 제안은 문제를 해결하는 새 브라우저 창에서 동일한 노트북을 여는 것입니다. 그런 다음 새 창을 닫고 이전 창에서 계속 작업 할 수 있습니다.
AlexK

내 MBP에서 동일한 문제를 해결하는 @AlexK에게 감사드립니다.
RandomWalker

답변:


314

내가 찾은 가장 쉬운 방법은 다음과 같습니다.

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

동일한 커널에서 다른 (실행되지 않는 기존) 노트북을 열면 문제가 마술처럼 사라집니다. 이전에 _xsrf오류를 표시했던 노트북을 다시 저장할 수 있습니다 .

Jupyter 홈페이지를 이미 닫은 경우 Jupyter가 시작된 터미널에서 링크를 찾을 수 있습니다.


23
이것은 내 하루를 구했습니다. 이 솔루션을 발견하지 못했다면 4 일 분량의 작업이 손실되었을 것입니다. 감사합니다!
Hari Dattada 2010 년

14
새 노트북을 열 필요가 없었습니다. 대신 트리를 다시 열고 커널을 다시 연결했습니다. 어느 시점에서 나는 또한 커널을 다시 시작했습니다.
user650654

1
노트북 목록을 새로 고칠 때까지 새 노트북을 열 수 없었습니다. 그 후 새 노트북을 열었
더니

2
해결 방법을 사용하려면 노트북이 이전에 생성되어야하므로 기존의 실행되지 않는 다른 노트북을 열고 새 노트북을 만들거나 실행중인 노트북을 열지 마십시오. 둘 다 동일한 오류가 발생합니다.
mirekphd

5
이것이 내가 stackoverflow를 좋아하는 이유입니다
Albert Chen

81

내가 찾은 해결책은 너무 단순 해 보이지만 효과가있었습니다. / tree aka Jupyter 홈페이지로 이동하여 브라우저를 새로 고칩니다. 일했다.


3
제 경우에는 다른 노트북을 여는 솔루션이 실패했지만 이것은 저에게 효과적이었습니다.
DISC-O

다행스럽게도 내가 업보를 올린 게시물을 볼 수 있으므로 1 년 후 잊고 돌아올 때 사용할 솔루션을 알 수 있습니다.
eric

7

저는 매일 jupyter 노트북을 사용하며이 문제는 지금까지 경험 한 적이 없습니다. 하루 종일 노트북을 열어 두었지만 아무 것도 실행되지 않았고 명백한 이유없이 자동 저장이 중지되었습니다.'_xsrf' argument missing from POST 오른쪽 상단 오류 메시지 . 참고로-이것은 python3 노트북입니다.

이 문제의 원인을 모르지만 최근에 python3 버전을 3.7.2로 업그레이드하고 며칠 전에 모든 사이트 패키지를 최신 버전으로 업그레이드했습니다.

해결책은 @AlexK의 의견에서 제안한대로 새 창 (실제로는 다른 브라우저)에서 동일한 노트북을 열었습니다.

jupyter notebook list

터미널에서 로그인 토큰으로 URL을 가져옵니다.

이로 인해 노트북을 열고 다시 저장할 수있게되었지만 마지막으로 성공한 자동 저장 이후 입력 한 정보가 누락되었습니다. 고맙게도 깨진 인스턴스는 여전히 열려 있고 저장과 별도로 작동하므로 정보를 복사하여 붙여 넣은 다음 저장을 누를 수있었습니다. 따라서 이것을 시도하면 깨진 인스턴스를 열어 두십시오!


3

'저장'버튼을 클릭하면이 오류가 발생합니다. 이 게시물과 다른 웹 사이트의 답변을 바탕으로 방금 해결책을 찾았습니다. 내 jupyter 노트북은 pip에서 설치됩니다. 그래서 Windows 명령 줄에 'jupyter notebook'을 입력하여 액세스합니다.

(1) 새 명령 창을 연 다음 새 jupyter 노트북을 엽니 다. 이전 노트북에 다시 저장하십시오. 이번에는 오류가 '실패 : 금지됨'입니다.

(2) 그런 다음 이전 노트북에서 '다른 이름으로 다운로드'를 클릭하면 토큰을 묻는 새 창이 나타납니다.

여기에 이미지 설명 입력

(3) 다른 명령 창을 연 다음 다른 jupyter 노트북을 열고 'jupyter notebook list'를 입력하고 'token ='뒤와 :: 앞의 코드를 방금 본 상자에 복사합니다. 이 시간을 절약 할 수 있습니다. 실패하면 목록에서 다른 토큰을 시도 할 수 있습니다.


이것은 나를 위해 해냈습니다, 감사합니다! 마지막 단계를 명확히하고 싶었습니다. 당신이 의미하는 바를 해독하는 데 1 분 정도 걸렸습니다. 이 명령은 jupyter notebook list사이에 나타나는 문자의 긴 문자열 일부가 긴 URL을 뱉어 token=::. 이 문자열을 복사하여 (2) 단계의 "비밀번호 또는 토큰"상자에 붙여 넣으면 원래 jupyter 노트북의 "금지됨"오류가 사라집니다.
Jorge Aurelio Menendez

3

나를 위해 일한 유일한 해결책은 다음과 같습니다.

  1. 크롬에서 새 탭을 열었습니다
  2. 나는 붙여 넣었다 : http : // localhost : 8888 /? token = ......
  3. 그런 다음 원래 노트북으로 이동하여 저장할 수있었습니다.

2

이 문제를 해결하기위한 한 가지 해결 방법은 다음과 같습니다.

  1. 파일-> 다른 이름으로 다운로드-> 노트북 (ipynb)으로 이동하여 저장할 수없는 노트북을 다운로드합니다.

  2. jupyter 브라우저 UI에서 다운로드 한 파일을 클릭하여 다운로드 한 노트북을 엽니 다.

이제 jupyter UI에서이 노트북을 저장 (또는 이름 변경) 할 수 있습니다.


(즉, 다운로드 상기 NB) 다른 노트북이 나를 위해 그것을 해결하지 않았다 열기, 그러나 이것은 한
알렉스

2

제 경우에는 '커널'(노트북 상단에 표시됨)을 클릭 한 다음 '다시 연결'을 클릭하여이 문제를 해결했습니다.

참고 추가됨 : Jupyter의 일부 버전에는 '다시 연결'이 없습니다.


1

nvidia 도커의 이미지를 사용하여 동일한 문제가 발생했습니다 (노트북과 .py 모듈을 저장할 수 없음). 해결책은 아무것도 입력하지 않고 jupyter 내부의 터미널을 여는 것이지만 파일이 저장되면 종료되었습니다. 동일한 브라우저 / jupyter 인스턴스에서 수행되었습니다.

컴퓨터 OS : Ubuntu 18.04


0

개발자 설정을 열고 콘솔을 클릭하고 다음을 입력하십시오.

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

그런 다음 노트북을 저장해보십시오. 이전에 저장하지 않았던 노트북이 지금 저장됩니다.


0

이것이 가장 쉬운 방법입니다.

새 노트북을 열 필요가 없었습니다. 대신 트리를 다시 열고 커널을 다시 연결했습니다. 어느 시점에서 나는 또한 커널을 다시 시작했습니다. – user650654 '19 10 월 9 일 0:17


그렇지 않으면 항상 "커뮤니티 위키"답변 옵션이 있습니다
Double Expresso

0

"커널"드롭 다운 메뉴를 클릭하고 "인터럽트"를 선택하여 문제를 해결할 수있었습니다.


0

Jupyter Lab을 사용할 때 가장 많이 투표 한 답변이 작동하지 않는 것 같습니다. 그러나 이것은 않습니다. URL을 새 탭에 복사하고 'lab'을 'tree'로 바꾸고 Enter 키를 눌러 페이지를로드하면됩니다. 세션에 대한 새 csrf 토큰을 생성하고 시작합니다!

향후 작업 손실에 대한 걱정을 피하기 위해 기본적으로 설정> 문서 자동 저장을 활성화하는 것이 좋습니다. 매우 정기적으로 저장되므로 시간 초과가 발생하기 전에 모든 것이 최신 상태 여야합니다.

새 노트북을 열 필요가 없었습니다. 대신 트리를 다시 열고 커널을 다시 연결했습니다. 어느 시점에서 나는 또한 커널을 다시 시작했습니다. – user650654 '19 10 월 9 일 0:17


0

My Case에는 홈 페이지의 닫기 탭이 있습니다. Jupyter를 다시 열면 오류가 자동으로 사라지고 파일을 저장할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.