Чистый ответ - потратить немного времени на правильную подготовку среды выполнения.
Первым методом, который вы должны подготовить среду исполнения, является использование файла matplotlibrc
, как разумно рекомендованный Крисом К. , установив
backend : Agg
в этом файле. Вы можете даже контролировать - без изменений кода - , как и где ищет matplotlib, и находит файл matplotlibrc
.
Второй метод, который вы должны подготовить для своей среды выполнения, - это используйте переменную среды MPLBACKEND
(и сообщите своим пользователям об использовании):
export MPLBACKEND="agg"
python
Это удобно, потому что вам даже не нужно предоставлять другой файл на диске, чтобы сделать эту работу. Я использовал этот подход, например, для тестирования в непрерывной интеграции и для работы на удаленных компьютерах, которые не имеют дисплеев.
Жесткое кодирование вашего backplan matplotlib для «Agg» в вашем коде на Python похоже на избиение квадратный колышек в круглое отверстие с большим молотком, когда вместо этого вы могли просто сказать matplotlib, что это должно быть квадратное отверстие.