pio.write_image not working from within flask route
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginne mit der bereitgestellten Funktion saveScreenshot_2 und reproduziere pio.write_image innerhalb und außerhalb einer Flask-Route unter Windows 10. Vergleiche das Verhalten mit Plotly 5.24.1 und Kaleido 0.2.1 und ermittle anschließend, ob der Hänger im Routen-Kontext oder beim Bildexport-Aufruf auftritt. Als erledigt gilt die Aufgabe, wenn die Ursache identifiziert und entweder eine verifizierte Behebung oder eine klare Reproduktion dokumentiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I am having an issue trying to store plotly image with command:
img = pio.write_image(fig=fig, file=fileName, format="png", width=800, height=500, scale=1, engine="kaleido")
It just hangs forever and cannot do anything.
I honestly do not know if this is plotly or kaleido issue. Funny thing is this only happens when within the Flask route. Same code works fine outside the route. For example, if I run this code:
def saveScreenshot_2(fig, width=800, height=500):
ic("def saveScreenShot_2")
"""Saves a Plotly figure as an image to a temporary file.
Args:
fig: The Plotly figure object.
width: The width of the image in pixels (default: 800).
height: The height of the image in pixels (default: 500).
Returns:
The path to the saved image file.
"""
with tempfile.NamedTemporaryFile(suffix=".png", delete=False) as temp_file:
try:
pio.write_image(fig=fig, format="png", file=temp_file.name, width=width, height=height, engine="kaleido")
ic("after pio.write_image")
return temp_file.name
except Exception as e:
print(f"Error saving image: {e}")
return None
outside the flask route, it works normally, but within flask route, it just hangs:
windows 10,
plotly.version: '5.24.1', kaleido.version: '0.2.1'
- Vorherrschende Sprache
- Python
- Sterne
- 504
- Forks
- 65
- Ø Merge
- 6 T. 9 Std.
- Gemergte PRs (30 T.)
- 2
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus plotly/kaleido
-
Writing to an existing directory whose name has a dot fails with "Invalid format"Evtl. vergeben @RaphaelFakhri hat das vor 13 Tagen übernommen. Offenbug P3 size: 1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
-
Deterministic Rendering ChallengesEvtl. wieder frei @camdecoster hat das vor 68 Tagen übernommen, und es ist kein Pull Request offen. Offenenhancement feature P2 size: 5
-
[FEATURE]: Embed custom fonts into vector exports (no system install)Evtl. vergeben @camdecoster hat das vor 125 Tagen übernommen. Offenenhancement P3 size: 3
-
enhancement feature P3 size: 5
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
GlobalKaleidoServer is not thread-safeEvtl. vergeben @talleibman hat das vor 250 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
Ähnliche Issues
-
needs-area-label
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 2 Tagen
-
enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Official-Space-AI/OpenPhysGraspGen#114 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
changelog investigate
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
ramnes/notion-sdk-py#441 ·
-
qa_bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
NVIDIA-NeMo/Gym#5644 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
BUG: catalog database credentials printed to logs at startupEvtl. vergeben @cjboyle hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag