ipython параллельный push пользовательский объект

Я не могу отправить объект для непосредственного просмотра работникам. Вот что я хочу сделать:

Класс теста:
  def __init__(self):
    self.id = 'ddfdf'

из IPython.parallel Импорт Клиента
rc = Client()
dv = rc[:]
t = Test()
DV ['T'] = T
печать DV ['T']

NameError: имя 't' не определено

Это будет работать, если я попытаюсь выдвинуть объект панды или какой-либо из встроенных объектов. Как это сделать с помощью пользовательского объекта?

Я старался:

dv ['Test'] = Тест
DV ['T'] = T
печать DV ['T']
UnpicklingError: Аргумент класса NEWOBJ не является типом объекта

1 ответ

Решение

Для интерактивно определенных классов (в __main__), вам нужно подтолкнуть определение класса или использовать укроп. Но даже это, похоже, не работает для классов старого стиля, что является ошибкой в ​​обработке IPython классов старого стиля [1]. Этот код отлично работает, если вы используете класс нового стиля:

class Test(object):
    ...

а не на уроке старого стиля. Обратите внимание, что классы старого стиля недоступны в Python 3. Как правило, всегда рекомендуется всегда использовать классы нового стиля.

Другие вопросы по тегам