首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我在AWS Lamba中使用multimethod装饰器修饰函数时,出现"'module‘object is not callable“

当我在AWS Lamba中使用multimethod装饰器修饰函数时,出现"'module‘object is not callable“
EN

Stack Overflow用户
提问于 2021-10-26 16:52:31
回答 1查看 37关注 0票数 0

当我用multimethod装饰器修饰一个函数时,lambda抛出了一个"'module‘object is not callable“错误。我创建了一个任意示例来重现此问题。

代码语言:javascript
复制
import json
from multimethod import multimethod

@multimethod
def test(word: str):
    print("you called string version", word)
    

def lambda_handler(event, context):
    test("hello")
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

如果我移除装饰器,它就能工作。由于某些原因,我的函数在我修饰它之后就被当作一个模块来处理。我正在使用层来包含multimethod,但我不认为这是问题所在,因为其他装饰器以前已经工作过了。

EN

回答 1

Stack Overflow用户

发布于 2021-10-28 23:38:41

上面的问题是由我使用从pip而不是pip3安装的多方法引起的。来自pip的库有一个单独的multimethod.py和init.py文件。因此,当我的lambda函数从lambda层导入它时,"from multimethod import multimethod“实际上是在导入模块,而不是函数。

使用pip3安装多方法并将pip3版本上传到图层修复了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69727118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档