Plt.show() зависает на OSX с помощью Anaconda Python
import matplotlib.pyplot as plt
plt.figure()
plt.show()
... сверчки. Переводчик висит, и я не могу его прерывать.
Это с Python 2.7.9 и Anaconda 2.2.0 (x86_64) на OSX.
Это случается для кого-то еще? Как я могу решить эту проблему?
Ответ 1
Попробуйте запустить Python, используя pythonw вместо python.
Ответ 2
Это, скорее всего, проблема с настройками вашего бэкэнд. Если вы хотите, чтобы ваши сюжеты отображали встроенный (внутри вашего ноутбука) импорт с помощью этой добавленной строки:
import matplotlib.pyplot as plt
%matplotlib inline
Чтобы ваши сюжеты отображали интерактивно встроенный (внутри вашего ноутбука) импорт с этой строкой, вместо этого:
import matplotlib.pyplot as plt
%matplotlib notebook
Чтобы ваши сюжеты отображались за пределами вашего ноутбука (в новом окне), вместо этого импортируйте эту строку:
import matplotlib.pyplot as plt
%matplotlib qt
ПРИМЕЧАНИЕ. Вам необходимо перезапустить ядро для переключения между встроенным ноутбуком и внешним qt, чтобы избежать ошибки: Предупреждение: нельзя изменить на другой набор инструментов GUI
Наконец, если проблемы сохраняются, следующее может помочь выявить, что происходит:
import matplotlib
matplotlib.get_backend()
Если вы используете любой из вышеперечисленных вариантов, он должен вывести одно из следующих значений:
'://ipykernel.pylab.backend_inline'
'nbAgg'
'Qt4Agg'
Ответ 3
Измените импорт matplotlib.pyplot на:
import matplotlib
matplotlib.use('TkAgg') #----> Specify the backend
import matplotlib.pyplot as plt