我试图解决这个问题已经4天了。我在本地机器上创建了我的代码。在本地计算机上创建的Lambda函数工作正常。当我用aws creating liberaries wit aws中提到的随机链接它时。并将zip文件夹上传到S3存储桶。直到这里一切正常。当我在lambda函数中使用此链接时出现问题。 lambda函数没有找到sklearn liberary和return错误
START RequestId:bf7b2618-34c5-11e7-a8eb-43a949065813版本:$ LATEST 无法导入模块'main':动态模块没有定义模块导出功能(PyInit__check_build)
/ var / task / sklearn / check_build的内容: setup.py _check_build.so __init .pyc init .py setup.pyc
似乎scikit-learn还没有正确构建。
如果你已经安装了scikit-learn from source,请不要忘记
在使用它之前构建包:运行python setup.py install
或
源目录中的make
。
如果您使用过安装程序,请检查它是否适合您的安装程序 Python版本,您的操作系统和您的平台。
到目前为止,我已经尝试了所有可行的方法。当我运行此命令来构建此包
时python setup.py安装或构建
错误出现Cpython __check_buid缺失。 我用了4天就尝试了一切。如果有人知道。请帮帮我。提前谢谢你。
答案 0 :(得分:0)
这些问题可能与psycopg2,pandas,numpy和其他具有复杂依赖关系的库相同 - 您必须从源代码构建它们,而不是本地,但要么使用亚马逊Linux实例,或Amazon Linux docker镜像。 AWS文档中的步骤甚至提到它,请查看文档中的第4点:
- 通过SSH连接到64位Amazon Linux实例。
醇>
您可以省略此步骤并使用某些库(如request或pytz)在本地执行此操作,但更复杂的库需要Amazon Linux。
针对您的特定问题,逐步解决方案描述为here