错误调用元类基地功能时()参数1必须是代码不str的

问题描述:

我跟着这个设置twilio:https://www.fullstackpython.com/blog/send-sms-text-messages-python.html错误调用元类基地功能时()参数1必须是代码不str的

进口似乎是工作,当我运行在本地使用python send_sms.py

然后,我使用Apache Nifi ExecuteScript处理器来执行send_sms.py文件,并假定它应该与我在本地运行文件相同。

它显示了我的错误:

error when calling the metaclass bases function() argument 1 must be code not str

当我尝试:from twilio.rest import TwilioRestClient

Twilio是安装在道路/sendsms/lib/python2.7/site-packages,所以我设置模块目录到这个路径

有谁知道这里有什么问题?我很困难,请帮助。

ExecuteScript使用Jython(而不是Python)来执行纯Python脚本,因此任何导入的包(及其依赖项)都必须是纯Python模块。我猜测TwilioRestClient(或其依赖项)包含一个非纯Python模块(例如编译C)。对于这些情况,Jython(以及ExecuteScript)将不起作用。

另一种方法是使用ExecuteStreamCommand处理器,通过该处理器,您可以将其释放到Python解释器(和脚本)。