我试图使用mp in the ipyparallel documentation创建一个基本的ipyparallel环境,使用mpi4py。启动ipcluster后,我加载ipython并尝试创建一个客户端,但它没有ID,访问directview会返回NoEnginesRegistered
异常。
我采取的步骤来达到这一点:
conda create --name=ipyparallel
和source activate ipyparallel
conda install ipyparallel mpi4py
ipython profile create --parallel --profile=mpi
c.IPClusterEngines.engine_launcher_class = 'MPIEngineSetLauncher'
ipcluster start --profile=mpi
然后我启动ipython并运行以下命令:
import ipyparallel as ipp
c = ipp.client(profile="mpi")
c[:] # <-- NoEnginesRegistered exception
步骤5报告&#34;引擎似乎已成功启动&#34;我可以看到一个名为&#34; mpiexec&#34;在跑。奇怪的是,我在具有相同操作系统的另一台机器上尝试了这些相同的步骤,并且它没有任何问题。我错过了什么?
答案 0 :(得分: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引擎。