【发布时间】:2018-03-07 04:25:23
【问题描述】:
首先,我是 R、AWS 和 python 的新手。所以我正在尝试使用 rpy2 获取一个在 AWS Lambda 中运行的嵌入式 R 代码的 python 脚本。我按照说明here(修改为使用python 3.4)在EC2实例上创建了一个Lambda包。该脚本在 EC2 虚拟环境中运行良好,但是当上传到 AWS 并进行测试时,我收到错误:
无法导入模块“py_test”:没有名为“rpy2.rinterface._rinterface”的模块
测试文件 (py_test.py) 看起来像这样(如您所见,我尝试了各种方法来尝试包含 rpy2 模块等):
import os
os.environ["R_HOME"] = os.getcwd()
os.environ["R_USER"] = os.path.join(os.getcwd(), 'rpy2')
os.environ["R_LIBS"] = os.path.join(os.getcwd(), 'library')
os.environ["LD_LIBRARY_PATH"] = os.path.join(os.getcwd(), 'lib')
import sys
sys.path.append(os.path.join(os.getcwd(),'rpy2'))
import rpy2
from rpy2 import robjects
def test_handler(event, context):
robjects.r('''
f <- function(r, verbose=FALSE) {
if (verbose) {
cat("I am calling f().\n")
}
2 * pi * r
}
print(f(3))
''')
test_handler(None,None)
我不确定这些环境变量,但这就是我在互联网上找到的。我已经搜索谷歌寻找答案,但已经空了。任何建议将不胜感激!
【问题讨论】:
标签: python r amazon-web-services aws-lambda rpy2