2016-11-10 89 views
1

我通過aws emr執行簡單的Linux命令。無法運行程序「pip --version」(在目錄「。」中):error = 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,--version而不是pip --version

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

你確定你對嗎? '[「pip,--version」]'仍然是一個包含單個項目的列表。 –

+0

@BryanOakley:我用我的答案(放置正確的集羣ID)的COPY-PASTE得到的結果是從/usr/lib/python2.7/dist-packages(python 2.7)'中的pip 6.1.1'。所以,我想知道你爲什麼低估了答案。 – duckertito

+0

@BryanOakley:順便說一句,仔細看看我的答案。它在逗號和'--version'之間沒有空格。你的評論是沒有意義的。 – duckertito

相關問題