Импорт черт в записную книжку IPython или qtconsole - PullRequest
1 голос
/ 26 марта 2012

У меня проблемы при импорте модуля Python, который импортирует это:

from traits.api import HasTraits, Float, CFloat, Range, Property
from traitsui.api import View, Item, UItem, Tabbed, HGroup, VGroup, Group
from chaco.api import ArrayPlotData, Plot
from enable.component_editor import ComponentEditor
from numpy import deg2rad, pi, cos, sqrt

# physical constants
from scipy.constants import h,c

на мой Lion Macbook Pro.Ракета-питон поднимается в доке, но никогда не перестанет прыгать вверх и вниз.Это происходит как в ноутбуке iPython с активированным режимом pylab, так и в qtconsole.В терминале с ipython --pylab все работает нормально.Может быть, это как-то связано с бэкэндами?Я думаю, что по умолчанию у меня wx.

1 Ответ

3 голосов
/ 27 марта 2012

Да, IPython должен быть проинформирован, когда вы используете цикл событий GUI (wx / qt / gtk / и т. Д.), Чтобы он мог интегрировать inputhook, необходимый для общения с терминалом, в этот цикл событий. ETS / chaco действительно использует такой бэкэнд, поэтому для их интерактивного использования в IPython необходимо включить интеграцию Eventloop. ipython --pylab подразумевает эту интеграцию с циклом событий, связанным с бэкэндом matplotlib по умолчанию, а также с различными инициализациями пространства имен. Но вы можете просто интегрировать IPython с eventloop, выполнив --gui wx (при условии, что wx, используйте qt, tk и т. Д. В зависимости от ситуации). Вы даже можете сделать это после запуска IPython, активировав бэкэнд с помощью %gui wx.

...