Fix crash on machines without a display #44
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The bug is, when I try and plot with psrecord on a headless machine (with no displays), then I get the following stack trace:
This can be fixed by using non-interactive MPL backend, as far as I can tell there's no need for psrecord to use the interactive one since it's just generating images. Since it's creating pngs only at the moment, using a raster backend is fine.
If there's a reason you'd rather not use 'Agg' by default, then perhaps I can instead add at least a try-catch that prints an instructive message about setting the matplotlib backend via environment variable.