Cython编译 TypeError: func() takes no keyword arguments 深坑

 今天使用Flask写了个接口,本地测试正常,仿到服务器上就报错,而且是特定函数报错.TypeError: func() takes no keyword arguments

一直以为是关键词冲突了. 后来调试半天,最后定位到是cython的问题

下面的方法无效

setup (
name = ‘xxxx’,
ext_modules = cythonize(["src/*.py"], compiler_directives={"always_allow_keywords": True})
)

最终解决办法,给函数的参数一个默认值即可.

# 原来
def func(a,b): pass
# 修改后
def func(a=None, b=None): pass

没有评论 to “Cython编译 TypeError: func() takes no keyword arguments 深坑”

留下评论:

昵称(必须):
邮箱地址 (不会被公开) (必须):
站点
评论 (必须)
XHTML: 您可以使用这些标记: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>