2015-12-04 3 views
8

iPythonノートブックを実行しているときに次のエラーが表示され、誰かが助けてくれるのだろうかと思っていました。iPythonノートブックエラー - ノートブックJSONが無効です:u'execution_countは必須のプロパティです

私は以前の投稿を閲覧しようとしましたが、回答が見つかりませんでした。 noteboookはWebブラウザ上で最後に実行されますが、エラーは表示され続けます。コンソールで

エラー:Webブラウザで

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": {} 
} 

任意のアイデア?ありがとう!

更新

私はPyCharmエディタからjupyter/ipythonノートブックを実行したときに実際にこのエラーのみ発生します。 Webブラウザで実行するとエラーが消えます。 PyCharmのノートブック互換性はまだバグに苦しんでいるようです...

答えて

0

ipythonスクリプトの半自動編集を行うスクリプトを書くとき、同じ問題が発生しました。

ファイルを1行ずつPythonで読み込み、str.replace( "execution_count": "null"、 "execution_count":null) を実行し、出力を新しいファイルに書き込むことができます。

その後、新しいファイルをipythonノートブックで開くことができます。それは私の問題を解決しました。結局のところ、ipythonのノートブックファイルはちょうどjsonファイルです(これはネストされた辞書やリストの束ではありません)。

+1

ありがとうございます!私は実際にpycharm IDEを使用してipythonノートブックを編集するとこのエラー(およびその他のいくつかの問題)が発生することに気付きました。私は代わりにWebブラウザを使用することをお勧めします。エラーが発生しにくいからです! – tsando

+0

私はpycharmでノートブックを誤って開くのと同じエラーが発生しました。どのようにそれをブラウザで起こるのをやめさせることができますか? –

4

ノートパソコンでPyCharmを使用した後も同じ問題がありました。

カーネルを再起動し、すべての出力をクリアしてノートブックを保存するだけで、ブラウザでエラーが消えることがありました。

(カーネル/再起動&クリア出力)

0

私はこの問題に時間のかなりのビットを失いました。他のすべてが失敗した場合は、セルをマークダウンに切り替え(Pycharmでこれを行うことができます)、保存します。

これは通常のブラウザで開き、コードに戻すことができます。

すべての出力を消去して保存するオプションがあれば、それは簡単です(私の場合はオプションではないが、読み込まなくても)。

関連する問題