【错误调试】TypeError: create_target_machine() got an unexpected keyword argument ‘jitdebug‘

本文解决了因Numba和LLVM版本不兼容导致的TypeError错误,详细介绍了如何通过更新版本来修复create_target_machine()函数的问题。推荐使用Numba 0.49.1和LLVM 0.32.1版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

File "/home/wutao/anaconda3/envs/vibe-env/lib/python3.7/site-packages/numba/targets/codegen.py", line 637, in _init
tm = target.create_target_machine(**tm_options)
TypeError: create_target_machine() got an unexpected keyword argument 'jitdebug'

碰到了这个问题,更换了numba和llvmlite版本,解决该问题。

llvmlite-0.32.1
numba-0.49.1

分别使用以下语句安装:

pip install -U numba==0.49.1 -i https://pypi.tuna.tsinghua.edu.cn/simple --ignore-installed llvmlite
pip install -U llvmlite==0.32.1 -i https://pypi.tuna.tsinghua.edu.cn/simple 

--ignore-installed可以避免出现以下问题

ERROR: Cannot uninstall 'llvmlite'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
### 回答1: 这个错误提示是说在调用 create_target_machine() 函数时,传入了一个未预期的关键字参数 'jitdebug'。可能是因为该函数不支持 'jitdebug' 参数,或者该参数的名称被拼写错误。需要检查代码中调用该函数的地方,确认传入的参数是否正确。 ### 回答2: 这个错误是由于在调用create_target_machine()函数时使用了不被支持的参数“jitdebug”。在LLVM源代码中,create_target_machine()并不接受“jitdebug”参数,因此传递此参数会引发类型错误。 要解决这个错误,需要在调用create_target_machine()之前检查参数并确保它们是函数支持的。通常,可以通过查看相关文档或源代码来确定函数所支持的参数。如果找不到正确的参数,则应查找替代解决方案或联系LLVM社区寻求帮助。 此外,这个错误也可能是由于LLVM版本不兼容导致的。如果您使用的是较旧的LLVM版本,则该版本可能不支持某些参数。在这种情况下,您需要升级到最新版本的LLVM,并使用支持的参数调用create_target_machine()函数,以避免出现此错误。 总之,这个错误涉及到使用不被支持的参数,需要确保传递的参数被函数所支持,并且选择适当的LLVM版本。 ### 回答3: 这个错误是因为在调用create_target_machine()函数的时候传入了一个名为jitdebug的关键字参数,但是该函数并不支持jitdebug这个参数。 create_target_machine()函数通常用于创建LLVM目标机器,它的参数列表包含了各种和目标机器相关的信息,比如目标架构、数据格式、优化等级等等。在Python的LLVM API中,create_target_machine()函数由llvmlite.ir.create_target_data()函数内部调用,用于创建一个新的目标机器(TargetMachine)实例,并用于表示目标机器的特征和能力。 通常情况下,我们调用create_target_machine()函数时只需要提供必要的参数,如架构和数据格式即可。如果我们不小心在调用该函数时传入了不支持的参数,就会导致类型错误TypeError)异常,提示我们传入了意外的关键字参数(got an unexpected keyword argument)。 要解决这个错误,我们需要查看create_target_machine()函数的参数列表,并确认是否传入了不支持的参数。如果确实有某个参数不被支持,就应该将其从调用语句中移除,或者注释掉相关代码。如果不清楚如何正确使用create_target_machine()函数,可以查看官方文档或者参考相关示例代码。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值