2012-03-26 2 views
1

У меня есть проблемы при импорте модуля Python, который импортирует этот:Черты характера импорта в IPython ноутбук или qtconsole

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.

+0

Спасибо за редактирование, Джон. Тогда я был молод и глуп. ;) –

ответ

3

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

+0

Прошу прощения, я забыл упомянуть, что я использую ноутбук в режиме pylab, и он все еще не работает. Изменит вопрос. –

+0

QTConsole фактически сообщает, что бэкэнд - это MacOSX, а на использование% gui wx отвечает «ERROR: не может активировать несколько циклов событий GUI», –

Смежные вопросы