Using matplotlib with no display attached

Solving "RuntimeError: Invalid DISPLAY variable" in Python.

Trying to run matplotlib code on Code Ocean, you may encounter the following error: RuntimeError: Invalid DISPLAY variable.

What's happening is that matplotlib is trying to show the figure but cannot find a display. The recommended solution is to set the default backend by creating a matplotlib configuration file (a file called matplotlibrc) consisting of the following line: backend: Agg. Alternatively, you can set the backend manually at the top of your python script:

import matplotlib
matplotlib.use('Agg') # set the backend before importing pyplot

import matplotlib.pyplot as plt # etc. etc.

Last updated