plotly / plotly/plotly.py

Jupyterlab requirement

Offen
#5,184 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug P2 regression
Vorherrschende Sprache
Python
Sterne
18.8k
Forks
2.8k
Ø Merge
16 Std. 26 Min.
Gemergte PRs (30 T.)
21

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in plotly/io/_renderers.py bei display_jupyter_version_warnings() und untersuche anschließend das Verhalten von optional_imports für jupyterlab und jupyter_client. Reproduziere die in der Issue beschriebene getrennte JupyterLab- und Kernel-Umgebung und verifiziere, dass das Plotten keinen NoneType AttributeError mehr auslöst, während die JupyterLab-Versionswarnung weiterhin korrekt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
jupyter, python
Bereich
data-visualization
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.