2015-12-04 31 views
8

Tôi nhận được lỗi sau khi chạy Máy tính xách tay iPython của mình và tự hỏi liệu có ai đó có thể trợ giúp không.Lỗi máy tính xách tay iPython - Máy tính xách tay JSON không hợp lệ: u'execution_count 'là thuộc tính bắt buộc

Tôi đã thử duyệt trong các bài đăng trước nhưng không thể tìm thấy câu trả lời. Noteboook không chạy ở cuối trình duyệt web nhưng lỗi vẫn xuất hiện.

Lỗi trong giao diện điều khiển:

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 

Lỗi trong trình duyệt web:

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

Bất kỳ ý tưởng? Cảm ơn!

Cập nhật

Thực ra lỗi này chỉ xảy ra khi tôi chạy jupyter/ipython máy tính xách tay từ trình biên tập PyCharm. Nếu tôi chạy nó trên một trình duyệt web thì các lỗi sẽ biến mất. Có vẻ như khả năng tương thích của máy tính xách tay của PyCharm vẫn đang bị lỗi ...

Trả lời

0

Tôi đã gặp phải vấn đề tương tự hôm nay khi tôi đang cố viết kịch bản thực hiện chỉnh sửa bán tự động các tập lệnh ipython.

Bạn có thể đọc dòng tệp theo dòng trong python và thực hiện str.replace ('"execution_count": "null"', '"execution_count": null') và ghi đầu ra vào tệp mới.

Sau đó, bạn có thể mở tệp mới trong sổ ghi chép ipython. Nó giải quyết vấn đề cho tôi. Sau khi tất cả, một tập tin máy tính xách tay ipython chỉ là một tập tin json (đó là không nhiều hơn một loạt các từ điển lồng nhau và danh sách).

+1

Cảm ơn! Tôi thực sự sau đó nhận ra rằng việc biên tập các sổ ghi chép ipython bằng cách sử dụng IDE pycharm tạo ra lỗi này (và một vài thứ khác). Tôi khuyên bạn nên sử dụng trình duyệt web thay vì nó ít bị lỗi hơn! – tsando

+0

Tôi đã gặp lỗi này khi mở một sổ tay vô tình trong pycharm. bất kỳ ý tưởng làm thế nào để làm cho nó dừng lại xảy ra trong trình duyệt? –

4

Tôi đã gặp vấn đề tương tự sau khi sử dụng PyCharm trên sổ ghi chép.

Tôi có thể làm cho lỗi biến mất trong trình duyệt bằng cách khởi động lại hạt nhân, xóa tất cả đầu ra và lưu sổ ghi chép.

(Kernel/Restart & Rõ ràng Output)

0

tôi đã mất một chút thời gian đáng kể với vấn đề này. Nếu mọi thứ khác thất bại, biến các ô thành markdown (bạn có thể làm điều này trong Pycharm), và sau đó lưu lại.

Tại thời điểm này, nó sẽ mở trong trình duyệt thông thường và bạn có thể biến chúng trở lại thành mã.

Nếu bạn có tùy chọn xóa tất cả đầu ra và lưu, điều đó dễ dàng hơn (trong trường hợp của tôi không phải là một tùy chọn, thậm chí sẽ không tải).

Các vấn đề liên quan