Python sklearn不在aws lambda功能中工作。部署包问题

Python sklearn不在aws lambda功能中工作。部署包问题,python,amazon-web-services,amazon-s3,scikit-learn,aws-lambda,Python,Amazon Web Services,Amazon S3,Scikit Learn,Aws Lambda,4天来我一直在努力解决这个问题。我已经在本地机器上创建了代码。在本地机器上创建的Lambda函数运行良好。当我用aws中提到的自由主义者压缩它时。并将zip文件夹上载到S3 bucket。直到这里一切都很好。在lambda函数中使用此链接时出现问题。 lambda函数未找到sklearn库并返回错误 启动请求ID:bf7b2618-34c5-11e7-a8eb-43a949065813版本:$LATEST 无法导入模块“main”:动态模块未定义模块导出函数(PyInit\u check\u b

4天来我一直在努力解决这个问题。我已经在本地机器上创建了代码。在本地机器上创建的Lambda函数运行良好。当我用aws中提到的自由主义者压缩它时。并将zip文件夹上载到S3 bucket。直到这里一切都很好。在lambda函数中使用此链接时出现问题。 lambda函数未找到sklearn库并返回错误

启动请求ID:bf7b2618-34c5-11e7-a8eb-43a949065813版本:$LATEST 无法导入模块“main”:动态模块未定义模块导出函数(PyInit\u check\u build)


/var/task/sklearn/检查构建的内容: setup.py\u check\u build.so\u init.pyc init.py setup.pyc


似乎scikit学习尚未正确构建

如果您已安装scikit“从源代码学习”,请不要忘记 要在使用前构建软件包,请运行
python setup.py install
make
在源目录中

如果您使用过安装程序,请检查它是否适合您的需要 Python版本、操作系统和平台

到目前为止,我已经尝试了所有可能的方法。当我运行此命令生成此包时

python setup.py安装或生成

出现错误Cpython\u check\u buid缺失。
4天了,我什么都试过了。如果有人知道的话。请在这里帮助我。提前谢谢。

这些问题可能与psycopg2、pandas、numpy和其他具有复杂依赖关系的库的问题相同-您必须从源代码构建它们,而不是本地构建,而是使用Amazon Linux实例或Amazon Linux docker映像。AWS文档中的步骤甚至提到了这一点,请看文档中的第4点:

  • 通过SSH连接到64位Amazon Linux实例
  • 您可以省略这一步骤,在本地使用一些库(如requests或pytz)来完成,但更复杂的库需要AmazonLinux


    对于您的特定问题,将介绍逐步解决方案

    谢谢Adam,我尝试了您在逐步解决方案中提到的一个。但在docker运行映像后无法继续。映像找不到build.sh文件。我设法手动生成它。但仍然不起作用。您能否稍微解释一下如何使用请求在本地创建此库,感谢使用
    requests
    之类的库。您只需
    pip安装-t/yourlambdirectory/requests
    ,然后将它们压缩、上载,就可以了。对于像pandas这样的库,您必须找到在AmazonLinux上为您预编译它们的人,或者自己动手。我自己从来没有这样做过,总是使用已经预编译的。在[此链接]()中,您可以尝试最近的熊猫。它是基于[这个答案]()。对不起,我没有找到预编译的sklearn tho。可能是的副本