2017-03-04 3 views
1

をstrがない:https://www.fullstackpython.com/blog/send-sms-text-messages-python.htmlエラーがメタクラス拠点機能を呼び出す()の引数1、コードでなければならないとき、私はtwilioを設定し、これを続い

輸入は、私がローカルで実行したときの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設置し、私はこのパス

にモジュールのディレクトリを設定し、誰もがここで間違っているものを知っていますか?私は本当に立ち往生しており、助けてください。

答えて

3

ExecuteScriptは、純粋なPythonスクリプトを実行するためにJython(Pythonではなく)を使用します。そのため、インポートされたパッケージ(およびその依存関係)も純粋なPythonモジュールでなければなりません。 TwilioRestClient(またはその依存関係)に非純粋なPythonモジュール(コンパイル済みのCなど)が含まれていると推測しています。これらの場合、Jython(したがってExecuteScript)は機能しません。

代わりにExecuteStreamCommandプロセッサを使用して、Pythonインタプリタ(およびスクリプト)にシェルすることができます。

関連する問題