ошибка execute_count при запуске задания в удаленном кластере IPython

Я запускаю кластер IPython (SSH) на удаленной машине Linux и использую Mac OS X с IPython для использования этого кластера. В IPython на Mac я пишу:

from IPython.parallel import Client
c = Client('~/ipcontroller-client.json', sshserver="me@remote_linux_machine")
dview=c[:]
dview.scatter('m', arange(100))

где '~/ipcontroller-client.json' — файл, скопированный из remote_linux_machine. Все работает до этого момента.

Когда я пытаюсь использовать параллельную магию %px, я получаю сообщение об ошибке:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/parallel/client/client.pyc
in __init__(self, msg_id, content, metadata)
     80         self.msg_id = msg_id
     81         self._content = content
---> 82         self.execution_count = content['execution_count']
     83         self.metadata = metadata
     84 

KeyError: 'execution_count'

Та же идея, но когда я запускаю кластер на localhost, он работает отлично.

Должна ли параллельная магия вообще работать в случае удаленного кластера SSH?


person Sleepyhead    schedule 21.05.2013    source источник


Ответы (1)


Теперь проблема устранена: нужно убедиться, что версии IPython одинаковы (у меня 0.13.2) в кластере и на машине, на которой вы его используете.

На машине с Linux мне пришлось указать версию, которую мне нужно было установить, поскольку стандартный IPython был установлен с версией 0.12.1:

sudo apt-get install ipython=0.13.2-1~ubuntu12.04.1
person Sleepyhead    schedule 22.05.2013