Вы вызываете сценарий плохо.
Если Вы говорите:
bash scriptname
затем #! строка проигнорирована, и удар берет файл, как будто это были инструкции по удару. Но это не сценарий удара, это - ожидать сценарий.
#! строка только когда-либо интерпретируется ядром при предоставлении сценария как команда для выполнения самостоятельно.
Любой дает сценарий, выполняют разрешение, так, чтобы можно было просто вызвать ./scriptname
, или используйте expect
управляйте для запуска сценария.
Понятно.
matplotlib использует серверную часть рендеринга, которая должна хорошо работать с x11. Но выбор правого бэкэнда вручную [matplotlib.use ('TkAgg')] вызовет исключение. Оказывается, matplotlib не строится правильно в ubuntu с помощью pip, отсутствуют некоторые зависимости - в частности, те, которые необходимы для x11-дружественных бэкэндов (установка по умолчанию «Agg» в matplotlibrc). Исправлено:
pip uninstall matplotlib //unistalls matplotlib
apt-get build-dep matplotlib //download and build needed dependencies
pip -U matplotlib //force matplotlib rebuild
Вышеуказанное правильно устанавливает бэкэнд по умолчанию на TkAgg (в matplotlibrc). Надеюсь, это кому-то поможет!