Графики Matplotlib не отображаются при запуске файла из терминала bash

Графики обычно отображаются при запуске файлов из оболочки ipython или из ноутбука ipython, но они не отображаются, когда я запускаю файл с терминала bash - все остальное отлично работает, когда выполняется с bash терминал.

Пример python script (trial.py):

import matplotlib.pyplot as plt

print 'please, show my graph'

plt.plot([1,2,3], [1,2,3])

plt.show()

Это то, что я получаю (сюжет не отображается):

[~/Desktop]$ python trial.py
please, show my graph
[~/Desktop]$

Если я делаю

import matplotlib
matplotlib.use('TkAgg')

перед импортом pyplot, открывается и закрывается окно, когда я запускаю его с терминала.

Я пробовал разные способы импорта модулей без успеха:

import matplotlib.pyplot as plt
import matplotlib.pylab as plt
from matplotlib import pyplot as plt
from matplotlib import pylab as plt

У меня есть функция plt.show() в моем файле.

Знаете ли вы, как я могу это исправить?

Некоторая информация о версиях и установке:

Я нахожусь на Mac OSX 10.11.3.

In [61]: print matplotlib.__file__
/usr/local/lib/python2.7/site-packages/matplotlib/__init__.pyc

In [62]: print matplotlib.__version__
1.4.2

In [64]: print sys.version
2.7.9 (default, Apr  7 2015, 07:58:25)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]

In [65]: matplotlib.get_backend()
Out[65]: u'MacOSX'

Ответ 1

Вам нужно добавить matplotlib.pyplot.show() в свой код, чтобы показывать графики в неинтерактивном режиме. См. Документы в http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.show

РЕДАКТИРОВАТЬ:

После дополнительной информации от OP блокировка должна была быть включена явно с помощью plt.show(block=True).