【问题标题】:error when calling the metaclass bases function() argument 1 must be code not str调用元类基础函数()参数时出错 1 必须是代码而不是 str
【发布时间】:2017-07-24 13:28:06
【问题描述】:

我按照这个设置了 twilio:https://www.fullstackpython.com/blog/send-sms-text-messages-python.html

当我使用 python send_sms.py 在本地运行时,导入似乎正在工作

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

它显示了错误:

调用元类基础函数()参数时出错,参数 1 必须是代码而不是 str

当我尝试时:from twilio.rest import TwilioRestClient

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

有人知道这里有什么问题吗?我真的卡住了,请帮忙。

【问题讨论】:

    标签: python twilio apache-nifi


    【解决方案1】:

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

    另一种方法是使用 ExecuteStreamCommand 处理器,您可以使用它向您的 Python 解释器(和脚本)发送外壳。

    【讨论】:

      猜你喜欢
      • 2011-01-14
      • 2019-10-29
      • 2013-02-15
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 2022-11-21
      • 2020-04-02
      • 1970-01-01
      相关资源
      最近更新 更多