IPython.parallelのSSHのサポートを使用して、Linuxクライアントipengine
がEPD64がインストールされているOSXサーバーからリモートを実行できるようにしようとしています。ただし、これは失敗します。これは、ローカルマシンを使用して、ipengineapp
パッケージが別の場所にあるリモートホストで実行する適切なコマンドを見つけようとするためです。ipcluster_config.py
違いを認識するためにどのように変更しますか?
具体的にipcluster start --log-level=DEBUG
は、リモートホストで実行すると、次のような行を含むコンソール出力が表示されます。
[IPClusterStart] Starting LocalEngineLauncher: ['/Library/Frameworks/EPD64.framework/Versions/7.3/bin/python', '-c', 'from IPython.parallel.apps.ipengineapp import launch_new_instance; launch_new_instance()', '--profile-dir', u'/Users/username/.ipython/profile_default', '--cluster-id', u'', '--log-to-file', '--log-level=20']
一方、ローカルマシンからを使用して実行するipcluster start --log-level=DEBUG
と、Linuxホストに適しているように、次の行が表示されます。
[IPClusterStart] Starting SSHEngineLauncher: ['ssh', '-tt', u'hostname', '/usr/bin/python', u'/usr/lib/python2.7/site-packages/IPython/parallel/apps/ipengineapp.py', '--profile-dir', u'/home/username/.ipython/profile_ssh', '--log-to-file', '--log-level=20']
ipcluster_config.py
この例の私のものは次のとおりです。
c = get_config()
c.IPClusterEngines.engine_launcher_class = 'SSHEngineSetLauncher'
c.IPClusterStart.controller_launcher_class = 'SSHControllerLauncher'
c.SSHEngineSetLauncher.engines = {
'hostname1': 12,
'hostname2': 12,
}