2016-12-17 119 views
0

我想要得到一個基本的ipyparallel環境工作使用mpi4py所述in the ipyparallel documentation。啓動ipcluster後,我加載ipython並嘗試創建一個客戶端,但它沒有ID,並且訪問directview返回NoEnginesRegistered異常。ipyparallel與mpi無法找到引擎

步驟我才能讓這一點:

  1. 創建一個新的環境:conda create --name=ipyparallelsource 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. 以012啓動羣集

然後我啓動的IPython和運行以下命令:

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

第5步報道稱,「發動機似乎已成功啓動」,我可以看到一個名爲「mpiexec的」進程正在運行。奇怪的是,我在另一臺具有相同操作系統的機器上嘗試了這些相同的步驟,並且在那裏工作沒有問題。我錯過了什麼?

回答

0

我解決了這個問題,任何人來到這裏都有類似的問題。在安裝過程中,我已將筆記本擴展添加到jupyter的全局配置中。不知道爲什麼導致這個問題,但它現在已經修復。在conda環境之外,我跑了:

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

然後在conda環境裏我可以連接到ipyparallel引擎。