2016-05-31 102 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安装安装所有模块。