Создать семейство шаблонных классов, конвертируемых друг в друга

Чистый ответ - потратить немного времени на правильную подготовку среды выполнения.

Первым методом, который вы должны подготовить среду исполнения, является использование файла matplotlibrc, как разумно рекомендованный Крисом К. , установив

backend : Agg

в этом файле. Вы можете даже контролировать - без изменений кода - , как и где ищет matplotlib, и находит файл matplotlibrc .

Второй метод, который вы должны подготовить для своей среды выполнения, - это используйте переменную среды MPLBACKEND (и сообщите своим пользователям об использовании):

export MPLBACKEND="agg"
python 

Это удобно, потому что вам даже не нужно предоставлять другой файл на диске, чтобы сделать эту работу. Я использовал этот подход, например, для тестирования в непрерывной интеграции и для работы на удаленных компьютерах, которые не имеют дисплеев.

Жесткое кодирование вашего backplan matplotlib для «Agg» в вашем коде на Python похоже на избиение квадратный колышек в круглое отверстие с большим молотком, когда вместо этого вы могли просто сказать matplotlib, что это должно быть квадратное отверстие.

1
задан Barry 2 April 2019 в 16:47
поделиться