2017-01-25 8 views
0

私はpython(ex:WordCountTopology)を呼び出す嵐でトポロジーを実行しようとしていますが、python3.5.2がデフォルトであるという事実に関連するエラーが発生します私のサーバー上のpython(エラーはprintコマンドの古い構文や新しい構文に関するものです)。どのようにpython3.5の代わりにpython2.7を使用するために嵐に指定するには? Pythonエイリアスをpython2.7に設定しても、何も変更されません。どんな助けもありがたい。嵐の中で、特定のバージョンのPythonを指定する方法

答えて

1

あなたはShellSpout/ShellBoltを使っていると思います。コンストラクタでは、サブプロセスを実行するコマンドを指定できるので、python2.7に明示的にコマンドを設定することができます。例えば

public static class SplitSentence extends ShellBolt implements IRichBolt { 

    public SplitSentence() { 
     super("python", "splitsentence.py"); 
    } 

    @Override 
    public void declareOutputFields(OutputFieldsDeclarer declarer) { 
     declarer.declare(new Fields("word")); 
    } 

    @Override 
    public Map<String, Object> getComponentConfiguration() { 
     return null; 
    } 
    } 

あなたはpython2.7が配置されている "パイソン" を置き換えることができます。すべてのスーパバイザノードはその場所にファイルを持つ必要があります。

関連する問題