2016-05-31 66 views
0

我想調用python腳本來調用包裝在函數中的並行API調用。但是,我無法從本地計算機中的Rstudio或aws中的R執行python腳本。在aws和Rstudio中無法從R中運行python腳本

以下是我的python代碼。

import sys 
from numpy.random import randint 


if len(sys.argv)==5: 
    ci = int(sys.argv[1]) 
    cd = bool(sys.argv[2]) 
    db = str(sys.argv[3]) 
    fc = bool(sys.argv[4]) 
else: 
    ci = 296 
    cd = True 
    db = "snap_uat" 
    fc = False 

if cd & fc: 
    print db 
    randit(ci) 

R代碼裏面:

cd <- function(ci, cd, db, fc){ 

    ServiceLog <- system(
     paste(
      "ipython", "callpython.py", 
      ci, 
      cd, db, 
      fp, sep = " ") 
     , intern = TRUE 
) 



) 

錯誤如下:

SH:1:IPython中:找不到

這是我的假設,這是不從anaconda調用python,但內置python。其中沒有ipython

+0

您確定您在EC2實例和本地計算機上安裝了iPython嗎? – error2007s

+0

是的,我已經在aws上安裝了anaconda python2.7。 –

+1

你確定這是從np.random導入randint調用正確,因爲我正在嘗試運行該python命令時出現錯誤 – error2007s

回答

0

我的假設是正確的,AWS EC2調用默認的python,而不是調用anaconda python。所以我不得不在默認的python中安裝模塊。在默認情況下

安裝模塊拳頭安裝的apt-get安裝

sudo apt-get install pip 

然後使用sudo PIP安裝安裝所有模塊。