【问题标题】:How to add mecab package in aws lambda?如何在 aws lambda 中添加 mecab 包?
【发布时间】:2020-09-07 08:12:27
【问题描述】:
  • 我的目标是:

    在 AWS-lambda 上创建自定义 api,使用 mecab 分析数据。

  • 问题是:

    当我在 aws-lambda 上运行测试时,它会抛出这种错误。

    Execution result: failed(logs)
    {
      "errorMessage": "Unable to import module 'lambda_function': cannot import name '_MeCab' from 'MeCab' (/var/task/MeCab/__init__.py)",
      "errorType": "Runtime.ImportModuleError"
    } 
    

【问题讨论】:

    标签: python aws-lambda mecab


    【解决方案1】:

    有两种方法可以使用这个库:

    1. 要么在此处创建图层并上传库包文件夹,然后将此图层映射到 lambda 服务
    2. 在 lambda 包中上传库包文件夹。

    如何找到库包文件夹:https://leemendelowitz.github.io/blog/how-does-python-find-packages.html

    图层文档:https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

    【讨论】:

    • 我尝试了第二个选项,我之所以提到 MeCab 是因为我认为这个包需要一些特定的路径配置。
    • 顺便说一句,感谢您的回答。但我不知道哪个 mecab 文件应该在路径中。请你解释得更清楚些。
    • 很抱歉打扰您。但我也尝试过第一个选项,但反应仍然相同。 [错误] Runtime.ImportModuleError:无法导入模块“lambda_function”:无法从“MeCab”导入名称“MeCab”(/opt/python/lib/python3.7/site-packages/MeCab/__init_.py)
    • 你必须在site-packages文件夹中复制文件夹。
    • 它就在那个文件夹里面。但不知何故,它不认识它。但其他包,例如 bs4、mojimoji 等与 Mecab 位于同一目录并且它们工作正常。
    猜你喜欢
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2023-02-08
    • 2021-10-30
    • 2021-12-26
    • 2017-07-27
    相关资源
    最近更新 更多