Python AWS Lambda:原始错误为:无法导入名称多数组

Python AWS Lambda:原始错误为:无法导入名称多数组,python,numpy,aws-lambda,serverless-framework,Python,Numpy,Aws Lambda,Serverless Framework,嗨,我用lambda aws(使用无服务器框架)部署了一个应用程序。 但是我在运行测试时收到错误 START RequestId: 5bcf988a-2064-11e8-8d1e-c5a0129510f Version: $LATEST Unable to import module 'handler': Importing the multiarray numpy extension module failed. Most likely you are trying to import a

嗨,我用lambda aws(使用无服务器框架)部署了一个应用程序。 但是我在运行测试时收到错误

START RequestId: 5bcf988a-2064-11e8-8d1e-c5a0129510f Version: $LATEST
Unable to import module 'handler': 
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

Original error was: cannot import name multiarray
我多次删除了numpy软件包文件夹并重新安装,但仍然无法工作 那么你有解决这个问题的办法吗

守则:

import sys
import os
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)),'env','Lib','site-packages'))
import numpy as np
import pandas as pd
import boto3
import csv
import psycopg2


def hello(event, context):
    s3 = boto3.resource('s3')
    return "test"

提前谢谢你

我通过改变环境解决了这个问题。 我不知道python是不可移植的。 我在Windows环境中开发了lambda函数,但是lambda通常在AWS的Linux环境中运行,这就是为什么我的lambda不能工作的原因。
因此,解决方案是改变环境,使用Linux而不是windows。我在MACOSX环境下编译代码,这些天遇到了同样的问题,甚至我将代码放在ec2上,并在Linux或ubuntu环境中安装了所有依赖项,错误是一样的。 这里的文档给了我一个提示,当前的lambda执行环境是公共的Amazon Linux AMI版本(AMI名称:amzn-AMI-hvm-2017.03.1.20170812-x86_64-gp2),请注意AMI的具体版本,即使您使用Amazon Linux作为ec2实例,更新或更旧的版本也会出现问题。
因此,在我更改ec2实例的版本、重新编译代码并将压缩文件存储在s3上之后,AWS lambda成功运行。

您的代码实际上是什么样子的?@ParretApps我刚刚添加了代码