我是Nifi和python的新手
我想执行我的python脚本.所以使用了ExecuteScript并尝试导入某些模块.我这样导入:
import json, sftp, paramiko
Run Code Online (Sandbox Code Playgroud)
虽然我安装了sftp,但是当我在Executescript中导入它时,它会显示"无法处理会话.在第1行没有名为sftp的模块"
which -a sftp
/usr/bin/sftp
Run Code Online (Sandbox Code Playgroud)
当导入paramiko时,也得到了同样的错误.
mat*_*tyb 12
ExecuteScript和InvokeScriptedProcessor使用的"python"引擎实际上是Jython,而不是纯Python.这意味着它无法加载本机模块(.so文件,已编译的C文件等).根据该SO后,使用的paramiko加密具有本地库,所以不能在Jython中使用(见底部此帖我对此有何评论).我的猜测是sftp库也是如此.
Jython可以使用纯Python模块,在NiFi邮件列表上讨论如何指向(并包括)这些模块.