关键词:Python、pythonnet、Python for .NET、No method matches given arguments
1.问题描述
客户使用Python 3.9版本的解释器运行JY5500_V1.0.5_PythonExamples时,出现以下报错:
“No method matches given arguments for JY5500AITask.AddChannel”
2.问题原因
简仪产品Python驱动开发环境为pythonnet 2.5.3。客户使用的pythonnet 版本为3.0及以上。
出现此报错的原因为pythonnet 3.0及以上版本不再支持将整数隐式地转换为Enum类型,所以出现无法匹配给定的参数问题。
3.解决办法
由于pythonnet 3.0及以上版本不再支持将整数隐式地转换为Enum类型,需要将Python驱动中Enum的调用方式做修改,具体修改方式如下:
图 3-1 运行范例中需要修改的枚举

图 3-2 枚举修改

图 3-3 打开范例 找到需要修改的枚举

图 3-4 AITask所包含枚举