问题描述
我在 AWS 中有一个 Python lambda 作为依赖项 tabulas,它需要 Java 8+。 有什么办法可以在我的包中包含 Java?我正在使用无服务器框架来打包我的函数和依赖项。
{
"errorMessage": "`java` command is not found from this Python process.Please ensure Java is installed and PATH is set for `java`","errorType": "JavaNotFoundError","stackTrace": [
" File \"/var/task/handler.py\",line 18,in parse\n data = get_data(tmp_file_path)\n"," File \"/var/task/handler.py\",line 31,in get_data\n convert_into(file_path,file,output_format='csv',pages='all')\n"," File \"/var/task/tabula/io.py\",line 562,in convert_into\n _run(java_options,kwargs,path)\n",line 91,in _run\n raise JavaNotFoundError(JAVA_NOT_FOUND_ERROR)\n"
]
}
serverless.yml:
service: irpf-parser
frameworkVersion: '2'
provider:
name: aws
runtime: python3.8
lambdaHashingVersion: 20201221
stage: dev
region: us-east-1
iamRoleStatements:
- Effect: Allow
Action:
- s3:Getobject
Resource:
- "arn:aws:s3:::teste-medb/*"
functions:
irpf-parser:
handler: handler.parse
events:
- http:
path: /parse
method: post
plugins:
- serverless-offline
- serverless-python-requirements
custom:
serverless-offline:
port: 3000
pythonRequirements:
dockerizePip: 'non-linux'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)