2015-12-04 4 views
8

मुझे अपनी iPython नोटबुक चलाने पर निम्न त्रुटि मिल रही है और कोई सोच सकता है कि कोई मदद कर सकता है या नहीं।iPython नोटबुक त्रुटि - नोटबुक JSON अमान्य है: u'execution_count 'एक आवश्यक प्रॉपर्टी

मैंने पिछली पोस्ट में ब्राउज़ करने का प्रयास किया है लेकिन मुझे कोई जवाब नहीं मिला। नोटबुक वेब ब्राउज़र पर अंत में चलता है लेकिन त्रुटि दिखाई देती है। कंसोल में

त्रुटि:

C:\Apps\Anaconda2\envs\simpleQT\python.exe 
C:\Apps\Anaconda2\envs\simpleQT\Scripts\ipython-script.py notebook --no-browser --ip 127.0.0.1 --port 8888 
[I 09:43:20.525 NotebookApp] The port 8888 is already in use, trying another random port. 
[I 09:43:20.528 NotebookApp] Serving notebooks from local directory: C:\Users\Tanya.Sandoval\_QT\simpleQT 
[I 09:43:20.528 NotebookApp] 0 active kernels 
[I 09:43:20.528 NotebookApp] The IPython Notebook is running at: http://127.0.0.1:8889/ 
[I 09:43:20.528 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). 
[E 09:43:37.553 NotebookApp] Notebook JSON is invalid: u'execution_count' is a required property 

Failed validating u'required' in schema: 
    {u'additionalProperties': False, 
    u'description': u'Result of executing a code cell.', 
    u'properties': {u'data': {u'$ref': u'#/definitions/misc/mimebundle'}, 
        u'execution_count': {u'description': u"A result's prompt number.", 
              u'minimum': 0, 
              u'type': [u'integer', u'null']}, 
        u'metadata': {u'$ref': u'#/definitions/misc/output_metadata'}, 
        u'output_type': {u'description': u'Type of cell output.', 
             u'enum': [u'execute_result']}}, 
    u'required': [u'output_type', 
        u'data', 
        u'metadata', 
        u'execution_count'], 
    u'type': u'object'} 

On instance: 
    {u'data': {u'text/html': u'<div>\n<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n  <th></th>\n  <th>Open</th>\n  <th>High</th>\n  <th>Low</th>\n  <th>Close</th>\n  <th>Volume</th>\n </tr>\n <tr>\n  <th>Timestamp</th>\n  <th></th>\n  <th></th>\n  <th></th>\n  <th></th>\n  <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n  <th>2009-01-02</th>\n  <td>15.90</td>\n  <td>15.95</td>\n  <td>15.30</td>\n  <td>15.55</td>\n  <td>1065</td>\n </tr>\n <tr>\n  <th>2009-01-05</th>\n  <td>15.94</td>\n  <td>15.94</td>\n  <td>15.32</td>\n  <td>15.38</td>\n  <td>3710</td>\n </tr>\n <tr>\n  <th>2009-01-06</th>\n  <td>15.60</td>\n  <td>15.90</td>\n  <td>15.43</td>\n  <td>15.69</td>\n  <td>4619</td>\n </tr>\n <tr>\n  <th>2009-01-07</th>\n  <td>15.75</td>\n  <td>16.04</td>\n  <td>15.40</td>\n  <td>15.45</td>\n  <td>5956</td>\n </tr>\n <tr>\n  <th>2009-01-08</th>\n  <td>15.40</td>\n  <td>15.45</td>\n  <td>14.49</td>\n  <td>14.76</td>\n  <td>8454</td>\n </tr>\n <tr>\n  <th>2009-01-09</th>\n  <td>14.60</td>\n  <td>14.80</td>\n  <td>14.40</td>\n  <td>14.44</td>\n  <td>6846</td>\n </tr>\n <tr>\n  <th>2009-01-12</th>\n  <td>14.40</td>\n  <td>14.40</td>\n  <td>13.70</td>\n  <td>13.94</td>\n  <td>10355</td>\n </tr>\n <tr>\n  <th>2009-01-13</th>\n  <td>13.30</td>\n  <td>14.05</td>\n  <td>13.30</td>\n  <td>13.78</td>\n  <td>11341</td>\n </tr>\n <tr>\n  <th>2009-01-14</th>\n  <td>13.90</td>\n  <td>14.25</td>\n  <td>13.20</td>\n  <td>13.28</td>\n  <td>11170</td>\n </tr>\n <tr>\n  <th>2009-01-15</th>\n  <td>13.17</td>\n  <td>13.64</td>\n  <td>13.07</td>\n  <td>13.25</td>\n  <td>9745</td>\n </tr>\n </tbody>\n</table>\n</div>'}, 
    u'metadata': {}, 
    u'output_type': u'execute_result'} 
[W 09:43:37.565 NotebookApp] Notebook notebook.ipynb is not trusted 
[I 09:43:38.515 NotebookApp] Kernel started: c8c37658-b072-4a1d-87c5-0f862f514e44 

वेब ब्राउज़र में त्रुटि:

Notebook Validation failed: u'execution_count' is a required property: 
{ 
"output_type": "execute_result", 
"data": { 
    "text/html": "<div>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n  <th></th>\n  <th>Open</th>\n  <th>High</th>\n  <th>Low</th>\n  <th>Close</th>\n  <th>Volume</th>\n </tr>\n <tr>\n  <th>Timestamp</th>\n  <th></th>\n  <th></th>\n  <th></th>\n  <th></th>\n  <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n  <th>2009-01-02</th>\n  <td>15.90</td>\n  <td>15.95</td>\n  <td>15.30</td>\n  <td>15.55</td>\n  <td>1065</td>\n </tr>\n <tr>\n  <th>2009-01-05</th>\n  <td>15.94</td>\n  <td>15.94</td>\n  <td>15.32</td>\n  <td>15.38</td>\n  <td>3710</td>\n </tr>\n <tr>\n  <th>2009-01-06</th>\n  <td>15.60</td>\n  <td>15.90</td>\n  <td>15.43</td>\n  <td>15.69</td>\n  <td>4619</td>\n </tr>\n <tr>\n  <th>2009-01-07</th>\n  <td>15.75</td>\n  <td>16.04</td>\n  <td>15.40</td>\n  <td>15.45</td>\n  <td>5956</td>\n </tr>\n <tr>\n  <th>2009-01-08</th>\n  <td>15.40</td>\n  <td>15.45</td>\n  <td>14.49</td>\n  <td>14.76</td>\n  <td>8454</td>\n </tr>\n <tr>\n  <th>2009-01-09</th>\n  <td>14.60</td>\n  <td>14.80</td>\n  <td>14.40</td>\n  <td>14.44</td>\n  <td>6846</td>\n </tr>\n <tr>\n  <th>2009-01-12</th>\n  <td>14.40</td>\n  <td>14.40</td>\n  <td>13.70</td>\n  <td>13.94</td>\n  <td>10355</td>\n </tr>\n <tr>\n  <th>2009-01-13</th>\n  <td>13.30</td>\n  <td>14.05</td>\n  <td>13.30</td>\n  <td>13.78</td>\n  <td>11341</td>\n </tr>\n <tr>\n  <th>2009-01-14</th>\n  <td>13.90</td>\n  <td>14.25</td>\n  <td>13.20</td>\n  <td>13.28</td>\n  <td>11170</td>\n </tr>\n <tr>\n  <th>2009-01-15</th>\n  <td>13.17</td>\n  <td>13.64</td>\n  <td>13.07</td>\n  <td>13.25</td>\n  <td>9745</td>\n </tr>\n </tbody>\n</table>\n</div>" 
}, 
"metadata": {} 
} 

कोई भी विचार? धन्यवाद!

अद्यतन

वास्तव में इस त्रुटि केवल होता है जब मैं jupyter चलाने/PyCharm संपादक से नोटबुक IPython। यदि मैं इसे किसी वेब ब्राउज़र पर चलाता हूं तो त्रुटियां गायब हो जाती हैं। ऐसा लगता है कि PyCharm की नोटबुक संगतता अभी भी बग से पीड़ित है ...

उत्तर

0

आज मैं उसी समस्या में भाग गया जब मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा था जो मेरी आईपीथॉन स्क्रिप्ट के कुछ अर्द्ध स्वचालित संपादन करता है।

आप पाइथन में लाइन द्वारा फ़ाइल लाइन पढ़ सकते हैं, और str.replace ('"execution_count": "null"', '"execution_count": null') और आउटपुट को एक नई फ़ाइल में लिखें।

फिर आप ipython नोटबुक में नई फ़ाइल खोल सकते हैं। यह मेरे लिए समस्या हल हो गई। आखिरकार, एक आईपीथन नोटबुक फ़ाइल सिर्फ एक जेसन फ़ाइल है (जो नेस्टेड शब्दकोशों और सूचियों के समूह से अधिक नहीं है)।

+1

धन्यवाद! मुझे वास्तव में तब एहसास हुआ कि पिचर्म आईडीई का उपयोग करके आईपीथॉन नोटबुक संपादित करने से यह त्रुटि उत्पन्न होती है (और कुछ अन्य)। मैं फिर वेब ब्राउजर का उपयोग करने की सिफारिश करता हूं क्योंकि यह त्रुटियों से कम प्रवण है! – tsando

+0

मुझे पिचर्म में गलती से नोटबुक खोलने से भी यही त्रुटि थी। किसी भी विचार को ब्राउज़र में इसे कैसे रोकना है? –

4

मुझे नोटबुक पर PyCharm का उपयोग करने के बाद भी यही समस्या थी।

मैं कर्नेल को पुनरारंभ करके, सभी आउटपुट को साफ़ करने और नोटबुक को सहेजकर ब्राउज़र में त्रुटि गायब कर सकता हूं।

(कर्नेल/पुनरारंभ & साफ़ आउटपुट)

0

मैं इस समस्या के साथ समय की काफी थोड़ा खो दिया है। यदि सब कुछ विफल हो जाता है, तो कोशिकाओं को मार्कडाउन में बदलें (आप इसे पिचर्म में कर सकते हैं), और फिर सहेजें।

इस बिंदु पर इसे नियमित ब्राउज़र में खोलना चाहिए, और आप उन्हें वापस कोड में बदल सकते हैं।

यदि आपके पास सभी आउटपुट और बचत को साफ़ करने का विकल्प है, तो यह आसान है (मेरे मामले में जो एक विकल्प नहीं था, लोड भी नहीं होगा)।

संबंधित मुद्दे