【发布时间】:2019-08-06 00:44:47
【问题描述】:
我正在尝试运行 AWS Lambda 函数,我需要 pyodbc 作为库。导入pyodbc时出现错误:
无法导入模块“lambda_function”:/var/task/lib/libodbc.so.2:文件太短。
我在这个错误上找不到太多信息。有没有其他人经历过这个/有关于如何克服它的建议?
到目前为止,我有:
启动 EC2 实例并使用以下说明的组合创建部署包:https://gist.github.com/diriver63/b72a954fa0da4851d89e5086aa13c6e8 和此处:https://www.youtube.com/watch?v=xWbU_OnkFOo。如果我没有启动 EC2 实例并使用 Linux 打包我需要的东西,我会收到错误消息 - “[unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found (0) (SQLDriverConnect)\ ")。
我已确保我的所有文件都是单独压缩的,而不是压缩整个文件夹(如果压缩整个文件夹,我会收到“找不到 lamdba_function”错误)
扁平化了我的文件结构,因此所有文件都位于主驱动器中,但 lib 和 lib64 文件夹中的文件除外。如果它们位于不同的文件夹中,我会收到不同的错误 - “无法导入模块 'lambda_function':没有名为 'pyodbc' 的模块”或“[01000] [unixODBC][Driver Manager]Can't open lib '\libodbc.所以'"See current file structure
【问题讨论】:
标签: python aws-lambda