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

26,765

Solution 1

Method 1.

reinstall ipykernel via pipenv install ipykernel

Method 2.

pip install --upgrade nbformat

Solution 2

!pip install nbformat 
  1. Install this.
  2. Restart your Kernel.
  3. Dam sure it will work!

Solution 3

For those that use conda, this worked for me:

conda activate myenv
conda install nbformat

Then restart the kernel.

Share:
26,765

Related videos on Youtube

nilsinelabore
Author by

nilsinelabore

Updated on July 16, 2022

Comments

  • nilsinelabore
    nilsinelabore almost 2 years

    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:\Python38\lib\site-packages\plotly\basedatatypes.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:\Python38\lib\site-packages\plotly\io\_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()
    
    • nilsinelabore
      nilsinelabore about 3 years
      I realised that after restarting VSC the code would work, but thanks for the answer @J00N
    • MattH
      MattH about 2 years
      I came here with similar issue on Jupyter python notebook. Kernel -> Restart picked up the new installation too
  • Gopakumar G
    Gopakumar G almost 3 years
    or use: conda install -c conda-forge nbformat
  • Florida Man
    Florida Man over 2 years
    Stressing point 2 :-)