0

它已经4天了,我正试图解决这个问题。我在本地机器上创建了我的代码。在本地机器上创建的Lambda函数工作得很好。当我用aws creating liberaries wit aws中提到的自由工具压缩它时。并将zip文件夹上传到S3存储桶。直到这里一切工作正常。当我在lambda函数中使用这个链接时会出现问题。 lambda函数没有找到sklearn liberary和返回错误sklearn不能在aws lambda函数中工作。部署包问题

START请求ID:bf7b2618-34c5-11e7-a8eb-43a949065813版本:$最新 无法导入模块“主”:动态模块没有定义模块出口功能(PyInit__check_build)


在/ var /任务/ sklearn的内容/ check_build: setup.py _check_build.so __init .pyc文件 INIT的.py setup.pyc


似乎scikit学习没有被正确建立。

如果您已经安装了源scikit学习,请不要忘记 使用之前创建软件包:在源目录python setup.py installmake运行。

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

到目前为止,我已经尝试了所有可能的方法。当我运行这个命令来建立这个包

蟒蛇的setup.py安装或建设出现

错误CPython的__check_buid失踪。 它已经4天我尝试了一切。如果有人知道。请在这里帮助我。提前感谢您。

+0

[熊猫&AWSλ1的可能的复制(http://stackoverflow.com/questions/36054976/pandas-aws-lambda) –

回答

0

这些可能是相同的问题与psycopg2,熊猫,numpy的和复杂的依赖其他库 - 你必须从源代码编译他们,不在本地,但无论是使用Amazon Linux实例或Amazon Linux的码头形象。在AWS文档的步骤提到它甚至,看点4在文档:

  • 连接到通过SSH 64位亚马逊Linux实例。
  • 可以省略这一步骤,并与一些图书馆做本地,像请求或pytz,但更复杂的要求亚马逊的Linux。

    为您的特定问题,一步一步溶液中描述here

    +0

    由于亚当,我尝试了你在逐步解决方案中提到的一个。但在Docker运行映像后无法继续。图像无法找到build.sh文件。我莫名其妙手动生成它。但仍然无法正常工作。你可以稍微解释一下这个库的本地创建请求,谢谢 –

    +0

    像'requests'这样的库你可以'pip install -t/yourlambdadirectory/requests',然后压缩它们,上传它们,这样可以正常工作。对于像熊猫这样的图书馆,你必须找到在亚马逊Linux上为你预编译的人,或者自己动手。我自己从来没有这样做,总是使用预编译。在[此链接](https://github.com/moesy/lambda.service.skeleton)中,您可以尝试相当近期的熊猫。它基于[这个答案](http://stackoverflow.com/questions/36054976/pandas-aws-lambda)。 我还没有找到预编译sklearn寿,对不起。 –