plotly / plotly/plotly.py

plotly/package_data/widgetbundle.js has not been included in the release

Aperta
#5,113 5 commenti 0 reazioni 1 assegnatario Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug infrastructure P1 regression
Lingua principale
Python
Stelle
18.8k
Fork
2.8k
Merge medio
16h 26m
PR unite (30g)
21

Descrizione

For some reason plotly/package_data/widgetbundle.js is not being generated. I guess something goes wrong in the build script in js/package.json. Without the presence of that file, the global variable BaseFigureWidget._esm holds an invalid path, which leads to a somewhat surprising bug when using FigureWidget:

During import the function __getattr__ in graph_objects/__init__.py is being called and __init_subclass__ of AnyWidget is being invoked. Due to the missing file a FileNotFoundError is being raised (File not found: /usr/lib/python3.13/site-packages/plotly/package_data/widgetbundle.js).

inside __getattr__ there is a try block containing the import. I assume the intended usage of the try block is to catch any ImportErrors, since the except block will import a dummy-FigureWidget from missing_anywidget which just generates an error about a missing dependency.

However, the except block catches any exception, including the FileNotFoundError. This results in the user getting a misleading error message about a missing dependency (regardless whether that dependency is present or not). The actual fix would be to have the file plotly/package_data/widgetbundle.js present in the library.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.