1

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,
}
4

1 に答える 1

1

これは0.14で改善されたと思いますが、探している構成値はですSSHEngineSetLauncher.engine_cmd。これをipcluster_config.pyで編集すると、次のようになります。

c.SSHEngineSetLauncher.engine_cmd = ['/path/to/your/python', '-c', 'from IPython.parallel.apps.ipengineapp import launch_new_instance; launch_new_instance()']

または、PATHが単純なsshセッションで構成されている限り、最も単純なものでも機能する場合があります。

c.SSHEngineSetLauncher.engine_cmd = ['ipengine']
于 2013-02-12T04:21:40.953 に答える