2016-12-17 9 views
0

Я пытаюсь получить базовую среду ipyparallel, используя mpi4py, как описано in the ipyparallel documentation. После запуска ipcluster я загружаю ipython и пытаюсь создать клиент, но у него нет идентификаторов, и доступ к directview возвращает исключение NoEnginesRegistered.ipyparallel с mpi не может найти движки

шаги предпринять, чтобы добраться до этой точки:

  1. Создать новую среду: conda create --name=ipyparallel и source activate ipyparallel
  2. Установка ipyparallel и mpi4py: conda install ipyparallel mpi4py
  3. Создать новый профиль IPython: ipython profile create --parallel --profile=mpi
  4. Редактировать ~/.ipython/profile_mpi/ipcluster_config.py и добавьте c.IPClusterEngines.engine_launcher_class = 'MPIEngineSetLauncher'
  5. Запуск кластера с ipcluster start --profile=mpi

Затем я запускаю IPython и выполните следующее:

import ipyparallel as ipp 
c = ipp.client(profile="mpi") 
c[:] # <-- NoEnginesRegistered exception 

Шаг 5 сообщает, что «Двигатели по-видимому, начали успешно», и я вижу, что процесс, называемый «Mpiexec» работает. Как ни странно, я пробовал эти же шаги на другой машине с той же ОС, и там она работала без проблем. Что мне не хватает?

ответ

0

Я решил проблему для тех, кто придет сюда с аналогичной проблемой. Во время установки я добавил расширение для ноутбука в глобальную конфигурацию jupyter. Не знаю, почему это вызвало эту проблему, но теперь она исправлена. Вне среды Конда, я побежал:

sudo pip install ipyparallel 
sudo jupyter nbextension disable --py ipyparallel 
sudo jupyter nbextension uninstall --py ipyparallel 
sudo pip uninstall ipyparallel 

, а затем внутри среды Конда я могу подключиться к ipyparallel двигателей.