जुपिटर नोटबुक सहेजा नहीं जा रहा है: '_xsrf' तर्क पोस्ट से गायब है


163

मैं लगभग 26 घंटे से ज्यूपिटर नोटबुक पर एक स्क्रिप्ट चला रहा हूं; मैं वास्तव में किसी और चीज़ के लिए अपने कंप्यूटर का उपयोग नहीं कर रहा हूं, लेकिन इस कार्यक्रम को चलाने की आवश्यकता है जिसे पूरा करने में ~ 30 घंटे लगेंगे। लगभग 21 घंटे में, इसने बचत करना बंद कर दिया और मेरे टर्मिनल में यह था:

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

जहां [file.ipynb] मेरे जूपिटर नोटबुक का स्थान है। यह भी कहता है:

'_xsrf' argument missing from post

नोटबुक के ऊपरी दाएँ भाग में फिर से। कार्यक्रम अभी भी चल रहा है और मैं ज्यूपिटर नोटबुक को फिर से शुरू नहीं करना चाहता हूं और कार्यक्रम को फिर से चलाना है, क्योंकि मेरे पास एक समय सीमा है, क्या कुछ और है जो मैं कर सकता हूं?

मैं Google क्रोम का उपयोग कर रहा हूं, लेकिन मेरे पास अपने कोड में लास्टपास एक्सटेंशन या कोई '%' अक्षर नहीं है, जैसा कि एक अन्य पोस्ट ने सुझाया है।

किसी भी मदद के लिए धन्यवाद!


16
यदि आप कोई खोज करते हैं तो इस विषय पर ऑनलाइन चर्चा होती है। एक सुझाव जो मैंने देखा है वह एक नई ब्राउज़र विंडो में वही नोटबुक खोलने के लिए है, जो समस्या को हल करता है। फिर आप उस नई विंडो को बंद कर सकते हैं और पिछले एक में काम करना जारी रख सकते हैं।
एलेक्सा

धन्यवाद @AlexK, जो मेरे MBP पर एक ही मुद्दे को हल करता है।
रैंडमवल्कर

जवाबों:


310

सबसे आसान तरीका मुझे यह मिला:

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

एक ही कर्नेल पर बस एक और (गैर-चालू, मौजूदा) नोटबुक खोलें और मुद्दा जादुई रूप से चला गया है; आप फिर से उन नोटबुक को सहेज सकते हैं जो पहले _xsrfत्रुटि दिखा रहे थे ।

यदि आपने पहले से ही जुपिटर होम पेज को बंद कर दिया है, तो आप उस टर्मिनल का लिंक पा सकते हैं, जहां से ज्यूपिटर की शुरुआत हुई थी।


22
इससे मेरा दिन बच गया। अगर मैं इस समाधान में नहीं आता, तो 4 दिन का काम बेकार हो जाता। धन्यवाद!
हरि दत्त

14
मुझे एक नई नोटबुक खोलने की आवश्यकता नहीं थी। इसके बजाय, मैंने पेड़ को फिर से खोल दिया , और कर्नेल को फिर से जोड़ दिया। कुछ बिंदु पर मैंने कर्नेल को फिर से शुरू किया।
user650654

1
मुझे तब तक एक नई नोटबुक खोलने की अनुमति नहीं थी जब तक कि मैं नोटबुक सूची को ताज़ा नहीं करता। उसके बाद मैं एक नया नोटबुक खोला और त्रुटि disappeared..😄 था
Pavindu

2
ध्यान दें कि वर्कअराउंड के लिए आवश्यक है कि नोटबुक पहले बनाई गई थी, इसलिए एक और मौजूदा नॉन-रनिंग नोटबुक खोलें, एक नया न बनाएं या एक रनिंग को खोलें, दोनों एक ही त्रुटि को बढ़ाएंगे।
mirekphd

5
यही कारण है कि मुझे
अल्बर्ट चेन

79

मुझे जो समाधान मिला वह बहुत सरल है लेकिन यह काम कर गया। / ट्री उर्फ ​​जुपिटर होम पेज पर जाएं और ब्राउज़र को रिफ्रेश करें। काम किया।


3
इसने मेरे लिए काम किया जबकि एक और नोटबुक खोलने का समाधान मेरे मामले में विफल रहा।
DISC-O

शुक्रिया, मैं देख सकता हूं कि मैंने किन पोस्टों को उखाड़ा है इसलिए मुझे पता है कि जब मैं भूल जाऊं और एक साल में वापस आऊं तो कौन सा उपाय इस्तेमाल करूं।
eric

7

मैं रोजाना ज्यूपिटर नोटबुक का उपयोग करता हूं और इससे पहले कभी भी इस मुद्दे का अनुभव नहीं किया था। मेरे पास पूरे दिन नोटबुक थी, लेकिन यह कुछ भी नहीं चल रहा था और फिर बिना किसी स्पष्ट कारण '_xsrf' argument missing from POSTके शीर्ष में त्रुटि संदेश के साथ ऑटो-सेविंग को रोक दिया । FYI करें - यह एक python3 नोटबुक है।

मुझे इस समस्या का कारण नहीं पता है लेकिन मैंने हाल ही में अपने python3 संस्करण को 3.7.2 में अपग्रेड किया है और अपने सभी साइट-पैकेजों को कुछ दिनों पहले अपने नवीनतम संस्करण में अपग्रेड किया है जो संभवतः इसका कारण हो सकता है।

समाधान के लिए, जैसा कि @AlexK द्वारा टिप्पणी में सुझाया गया है, मैंने उसी नोटबुक को एक नई विंडो (वास्तव में अलग ब्राउज़र) में खोला, उपयोग कर

jupyter notebook list

टर्मिनल में लॉगिन टोकन के साथ URL प्राप्त करने के लिए।

इसके परिणामस्वरूप मुझे नोटबुक खुली और फिर से बचाने योग्य लगी, लेकिन अंतिम सफल ऑटो-सेव के बाद से मैंने जो जानकारी दर्ज की थी वह गायब थी। शुक्र है, मेरा टूटा हुआ उदाहरण अभी भी खुला था और बचत के अलावा काम कर रहा था इसलिए मैं बस हिट हिट को बचाने के लिए जानकारी को कॉपी और पेस्ट करने में सक्षम था। तो, यदि आप यह कोशिश करते हैं तो टूटे हुए उदाहरण को खुला रखें!


3

जब मैं 'सेव' बटन पर क्लिक करता हूं, तो यह त्रुटि होती है। इस पोस्ट और अन्य वेबसाइटों में उत्तर के आधार पर, मुझे सिर्फ समाधान मिला। मेरा जूपिटर नोटबुक पाइप से स्थापित है। इसलिए मैं विंडोज़ कमांड लाइन में 'ज्यूपिटर नोटबुक' लिखकर इसे एक्सेस करता हूं।

(1) एक नई कमांड विंडो खोलें, फिर एक नया ज्यूपिटर नोटबुक खोलें। पुरानी नोटबुक में फिर से सहेजने का प्रयास करें, इस बार, त्रुटि 'विफल: निषिद्ध' है

(2) फिर पुरानी नोटबुक में, 'डाउनलोड अस' पर क्लिक करें, यह एक नई विंडो को पॉप आउट करेगा जो आपसे टोकन मांगेगा।

यहाँ छवि विवरण दर्ज करें

(3) एक और कमांड विंडो खोलें, फिर एक और ज्यूपिटर नोटबुक खोलें, up ज्यूपिटर नोटबुक लिस्ट ’टाइप करें, कोड को after टोकन =’ के बाद और इससे पहले :: बॉक्स में आपने देखा। आप इस समय को बचा सकते हैं। यदि यह विफल रहता है, तो आप सूची में एक और टोकन की कोशिश कर सकते हैं


यह मेरे लिए किया, धन्यवाद! बस अंतिम चरण को स्पष्ट करना चाहता था - मुझे यह समझने में एक मिनट लगा कि आपका क्या मतलब है। कमांड jupyter notebook listएक लंबे url को थूक देगा, जिसका एक हिस्सा बीच token=और में दिखाई देने वाले वर्णों की एक लंबी स्ट्रिंग है ::। चरण (2) से "पासवर्ड या टोकन" बॉक्स में वर्णों के इस स्ट्रिंग को कॉपी और पेस्ट करें और मूल ज्यूपिटर नोटबुक में "निषिद्ध" त्रुटि दूर हो जाएगी।
जॉर्ज ऑरेलियो मेनेंडेज़

3

मेरे लिए एकमात्र समाधान यह था:

  1. मैंने क्रोम में एक नया टैब खोला
  2. मैंने पेस्ट किया: http: // localhost: 8888 /? टोकन = ......
  3. तब मैं अपनी मूल नोटबुक में गया और मैं इसे बचाने में सक्षम था

2

इस समस्या को हल करने के लिए 1 समाधान है:

  1. वह नोटबुक डाउनलोड करें जिसे आप जाने से नहीं बचा पा रहे हैं: फ़ाइल -> इस रूप में डाउनलोड करें -> नोटबुक (ipynb)।

  2. जिप्थर ब्राउजर UI पर डाउनलोड की गई फाइल पर क्लिक करके डाउनलोड की गई नोटबुक को खोलें

अब, आपको इस नोटबुक को jupyter UI से सहेजने (या नाम बदलने) में सक्षम होना चाहिए


एक और नोटबुक खोलने से यह मेरे लिए हल नहीं हुआ, लेकिन यह किया (यानी नायब डाउनलोड करना)
एलेक्स

2

मेरे मामले में, इस समस्या को 'कर्नेल' (नोटबुक्स के शीर्ष पर दिखाया गया है) पर क्लिक करके और फिर 'पुनः कनेक्ट' करके हल किया गया था।

नोट जोड़ा गया: जुपिटर के कुछ संस्करणों में, 'रीकनेक्ट' नहीं है।


1

मैं एक ही समस्या है (या तो नोटबुक और .py मॉड्यूल को बचाने के लिए असंभव) nvidia docker में एक छवि का उपयोग कर। समाधान कुछ भी टाइप किए बिना ज्यूपिटर के अंदर एक टर्मिनल खोल रहा था, लेकिन फाइलों को सहेजने के बाद बाहर निकलें। यह एक ही ब्राउज़र / ज्यूपिटर उदाहरण में किया गया था।

मशीन OS: उबंटू 18.04


0

डेवलपर सेटिंग खोलें और कंसोल पर क्लिक करें और निम्नलिखित टाइप करें

JSON.parse (document.getElementById ( 'jupyter-config-डेटा')। TextContent) .token

फिर नोटबुक को सहेजने का प्रयास करें। पहले जो नोटबुक सेव नहीं कर रहा था, वह अब बचाएगा।


0

यह सबसे आसान तरीका है।

मुझे एक नई नोटबुक खोलने की आवश्यकता नहीं थी। इसके बजाय, मैंने पेड़ को फिर से खोल दिया, और कर्नेल को फिर से जोड़ दिया। कुछ बिंदु पर मैंने कर्नेल को फिर से शुरू किया। - user650654 Oct 9 '19 पर 0:17


अन्यथा, हमेशा "सामुदायिक विकि" उत्तर विकल्प होता है
डबल एक्सप्रेस

0

मैं "कर्नेल" ड्रॉप डाउन मेनू पर क्लिक करके और "इंटरप्ट" चुनकर इसे हल करने में सक्षम था।


0

जुपिटर लैब का उपयोग करते समय सबसे अधिक वोट किया गया जवाब काम नहीं करता है। यह एक करता है, हालांकि। बस url को एक नए टैब में कॉपी करें, 'लैब' को 'ट्री' से बदलें और पेज लोड करने के लिए एंटर करें। यह आपके सत्र के लिए एक नया सीएसआरएफ टोकन उत्पन्न करेगा और आप जाने के लिए अच्छे हैं!

मैं सुझाव देना चाहूंगा कि भविष्य में काम खोने की चिंता से बचने के लिए डिफ़ॉल्ट रूप से सेटिंग्स> ऑटोसेव डॉक्यूमेंट्स। यह बहुत नियमित रूप से बचाता है इसलिए सब कुछ किसी भी समय से पहले होने की तारीख तक होना चाहिए।

मुझे एक नई नोटबुक खोलने की आवश्यकता नहीं थी। इसके बजाय, मैंने पेड़ को फिर से खोल दिया, और कर्नेल को फिर से जोड़ दिया। कुछ बिंदु पर मैंने कर्नेल को फिर से शुरू किया। - user650654 Oct 9 '19 पर 0:17


0

मेरे मामले में, मेरे पास मुखपृष्ठ का एक टैब है। Jupyter को फिर से खोलने के बाद। त्रुटि स्वचालित रूप से चली गई थी और हम फ़ाइल को बचा सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.