ValueError: Mime type rendering requires nbformat>=4.2.0 but it is not installed

Question:

I was trying to print a plotly plot in Visual Studio Code and caught this error:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-40-e07b5feb5ded> in <module>
     30 
     31 fig.update_layout(height=nrows*500)
---> 32 fig.show()

C:Python38libsite-packagesplotlybasedatatypes.py in show(self, *args, **kwargs)
   3147         import plotly.io as pio
   3148 
-> 3149         return pio.show(self, *args, **kwargs)
   3150 
   3151     def to_json(self, *args, **kwargs):

C:Python38libsite-packagesplotlyio_renderers.py in show(fig, renderer, validate, **kwargs)
    383 
    384         if not nbformat or LooseVersion(nbformat.__version__) < LooseVersion("4.2.0"):
--> 385             raise ValueError(
    386                 "Mime type rendering requires nbformat>=4.2.0 but it is not installed"
    387             )

ValueError: Mime type rendering requires nbformat>=4.2.0 but it is not installed

The code I used:


import plotly.graph_objects as go
from plotly.subplots import make_subplots
import plotly.express as px

df = df[df['Data']>0]
df['Timestamp'] = pd.to_datetime(df['Timestamp'])
df = df[(df['Id'] ==1)|(df['Id'] ==6)]

dfp = pd.pivot_table(df,
                     values='Data',
                     index=['Timestamp'],
                     columns=['Id'],
               )
nrows = len(dfp.columns) 

fig = make_subplots(rows=nrows,
                    cols=1,
                    subplot_titles=['Id '+str(c) for c in dfp.columns])

# add traces
x = 1
for i, col in enumerate(dfp.columns):
    fig.add_trace(go.Scatter(x=dfp.index, y=dfp[col].values,
                             name = 'Id '+str(col),
                             mode = 'lines',
                             ),
                  row=i+1,
                  col=1)

fig.update_layout(height=nrows*500)
fig.show()

I tried pip install nbformat in the console following this feed on GitHub and this question on stackoverflow
but it did not work.

However, it seems the code could run with the last 2 rows removed:

fig.update_layout(height=nrows*500)
fig.show()
Asked By: nilsinelabore

||

Answers:

Method 1

reinstall ipykernel via

pip install ipykernel

Method 2

pip install --upgrade nbformat
Answered By: J00N
!pip install nbformat 
  1. Install this.
  2. Restart your Kernel.
  3. Dam sure it will work!
Answered By: Aravind R

I just ran into this problem too. In my case, it turned out I had only installed ipykernel, but it’s best to install the jupyter metapackage.

Reference: https://code.visualstudio.com/docs/datascience/jupyter-notebooks

Answered By: Jamy Mahabier

For those that use conda, this worked for me:

Verify the name of your conda environment:
conda info --envs

Supposing it’s "myenv", proceed:

conda activate myenv
conda install nbformat

Then restart the kernel.

Answered By: Matt Payne

Configurations

  • Mac OS
  • VS code
  • python 3.x

Method

  • Enter the following code:
    pip3 install --upgrade nbformat
  • Restart the kernel in the VS code prompt
  • Run your code again

It should work now.

Answered By: cryptomamy

Restarting ipykernel works for me.

Answered By: guanzheng chen
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.