plotly.py icon indicating copy to clipboard operation
plotly.py copied to clipboard

Jupyterlab requirement

Open RobVor opened this issue 8 months ago • 1 comments

Hi all,

This seems to be related to the PR https://github.com/plotly/plotly.py/pull/5104

The check for jupyterlab is still failing on my end. I have a LabEnv that uses other kernels in other environments. It keeps prod environments lean.

Similar to the original poster of the issue linked to the above PR, I get the following error when trying to plot using plotly.


AttributeError Traceback (most recent call last) Cell In[10], line 88 85 else: 86 colors.append(DECREASING_COLOR) ---> 88 iplot( fig, filename = 'candlestick-ichimoku' )

File ~/micromamba/envs/trader/lib/python3.12/site-packages/plotly/offline/offline.py:387, in iplot(figure_or_data, show_link, link_text, validate, image, filename, image_width, image_height, config, auto_play, animation_opts) 382 post_script = build_save_image_post_script( 383 image, filename, image_height, image_width, "iplot" 384 ) 386 # Show figure --> 387 pio.show( 388 figure, 389 validate=validate, 390 config=config, 391 auto_play=auto_play, 392 post_script=post_script, 393 animation_opts=animation_opts, 394 )

File ~/micromamba/envs/trader/lib/python3.12/site-packages/plotly/io/_renderers.py:429, in show(fig, renderer, validate, **kwargs) 424 if not nbformat or Version(nbformat.version) < Version("4.2.0"): 425 raise ValueError( 426 "Mime type rendering requires nbformat>=4.2.0 but it is not installed" 427 ) --> 429 display_jupyter_version_warnings() 431 ipython_display.display(bundle, raw=True) 433 # external renderers

File [~/micromamba/envs/trader/lib/python3.12/site-packages/plotly/io/_renderers.py:60] (http://localhost:8888/home/omagaiii/micromamba/envs/trader/lib/python3.12/site-packages/plotly/io/_renderers.py#line=59), in display_jupyter_version_warnings() 58 elif "jupyter-lab" in parent_process: 59 jupyter_lab = optional_imports.get_module("jupyterlab") ---> 60 if jupyter_lab.version < "3": 61 # Add warning about upgrading jupyterlab 62 warnings.warn( 63 f"Plotly version >= 6 requires JupyterLab >= 3 but you have {jupyter_lab.version} installed. To upgrade JupyterLab, please run pip install jupyterlab --upgrade." 64 )

AttributeError: 'NoneType' object has no attribute 'version'

plotly version:

import plotly
plotly.__version__
'6.0.1'

Python version:

from platform import python_version
python_version()
'3.12.10'

Jupyterlab/host version:

jupyter lab --version 
4.4.1

Jupyterlab/client version:

import jupyter_client
jupyter_client.__version__
'8.6.3'

BTW, the check above for the jupyter_client is probably what needs to be added in the code to fix remote execution. Below is how I 'fixed' it so I can move on for the time being, but probably missing other nuances.

    elif "jupyter-lab" in parent_process:
        jupyter_lab = optional_imports.get_module("jupyterlab") or optional_imports.get_module("jupyter_client")
        if jupyter_lab.__version__ < "3":

RobVor avatar May 14 '25 20:05 RobVor

You're also getting Mime type rendering requires nbformat>=4.2.0 but it is not installed, which is what https://github.com/plotly/plotly.py/issues/4512 is about.

afeld avatar Oct 16 '25 21:10 afeld