from plotly import optional_imports
from distutils.version import LooseVersion
import plotly.express as px
# Proof that nbformat is installed.
assert not (not nbformat or LooseVersion(nbformat.__version__) < LooseVersion("4.2.0"))
fig = px.scatter(x=[0, 1, 2, 3, 4], y=[0, 1, 4, 9, 16])
fig.show()
给予
ValueError Traceback (most recent call last)
/tmp/ipykernel_898/3832418673.py in <module>
7
8 fig = px.scatter(x=[0, 1, 2, 3, 4], y=[0, 1, 4, 9, 16])
----> 9 fig.show()
/opt/conda/envs/python39/lib/python3.9/site-packages/plotly/basedatatypes.py in show(self, *args, **kwargs)
3396 import plotly.io as pio
3397
-> 3398 return pio.show(self, *args, **kwargs)
3399
3400 def to_json(self, *args, **kwargs):
/opt/conda/envs/python39/lib/python3.9/site-packages/plotly/io/_renderers.py in show(fig, renderer, validate, **kwargs)
395
396 if not nbformat or LooseVersion(nbformat.__version__) < LooseVersion("4.2.0"):
--> 397 raise ValueError(
398 "Mime type rendering requires nbformat>=4.2.0 but it is not installed"
399 )
ValueError: Mime type rendering requires nbformat>=4.2.0 but it is not installed
1. 升级nbformat
pip 安装 --upgrade nbformat
2. 重启内核
我在使用 Python 3.9 和 nbformat 5.7.3 的 Anaconda 上遇到了同样的问题。我的代码在 Windows 11 上的 VSCode 中的 Jupyter Notebook 中运行。
将 nbformat 降级到 5.1.2 为我解决了这个问题。
pip install nbformat==5.1.2
看看你是否没有在不同的环境或 python 版本中安装 nbformat。就我而言,我遇到了同样的问题,我使用的内核是 python 3.11,但 pip install 安装在 python 3.9 上。
所以,当我这样做时
$ pip install nbformat
它将为 python 3.9 安装并且我的代码在 python 3.11 上运行。
解决方案是显式安装
$ pip3.11 install nbformat