2016-11-10 12 views
1

aws emrで簡単なLinuxコマンドを実行します。このコマンドは、クラスタのノード上で起動されます:プログラム "pip --version"(ディレクトリ "。")を実行できません:エラー= 2、そのようなファイルやディレクトリはありません

aws emr add-steps --cluster-id j-XXXXXXXXXX --steps Name="XXX",Jar="command-runner.jar",Args=["pip --version"] 

か:

aws emr add-steps --cluster-id j-XXXXXXXXXX --steps Name="XXX",Jar="command-runner.jar",Args=["python --version"] 

をこれらの基本的なコマンドがエラーを与える:

Cannot run program "pip --version" (in directory "."): error=2, No such file or directory 

Cannot run program "python --version" (in directory "."): error=2, No such file or directory 

私は、少なくともpythonがインストールされていることを確信していますノード上ではを*.pyのファイルで実行できるためです。

私が実行できたコマンドはlsでした。

P.S.このアプローチを使用する目的は、クラスタの異なるノード上でいくつかのLinuxスクリプトを実行できるようにすることです。 pip install ...。だからこそ私は小さな実験を始めることから始まり、それを動作させることができませんでした。

+0

'pip'は、組み込みのLinuxのコマンドではありません、それがインストールされていないアプリケーションまたはLinuxマシンです。インストールされていると思いますか? – UnholySheep

+0

@UnholySheep: 'pip'がインストールされていないと、エラーメッセージが' pip:command not found'のようになることが予想されます。問題は、エラー "プログラム" pip --version "(ディレクトリ"。 ")'を実行できないということです。 'cd/usr /'でも同様のエラーが表示されます。 'ls'だけが問題なく動作します。 – duckertito

答えて

-1

問題は、引数の間にコンマ,がないことが原因でした。代わりにpip --versionpip,--versionがあるはずです:

aws emr add-steps --cluster-id j-XXXXXXXXXX --steps Name="XXX",Jar="command-runner.jar",Args=["pip,--version"] 
+0

本当に正しいですか? '[" pip、--version "]'はまだ1つの項目を持つリストです。 –

+0

@BryanOakley:私の答え(適切なクラスタIDを入れて)のCOPY-PASTEには、/usr/lib/python2.7/dist-packages(python 2.7)からのpip 6.1.1があります。だから、あなたはなぜ答えを落としたのだろうと思う。 – duckertito

+0

@ブライアン・オークリー:ところで、私の答えをよく見てください。コンマと '--version'の間にスペースはありません。あなたのコメントは無意味です。 – duckertito

関連する問題