我正在尝试将模块导入nifi中的执行脚本处理器。如建议的那样,我正在提供模块目录的完整路径。
示例:模块目录: /var/lib/nifi/Levenshtein--
此外,在脚本中我还设置了指向使用该模块目录的系统路径我的代码看起来像这样
import re
import datetime
import sys
sys.path.append('/var/lib/nifi/Levenshtein')
import Levenshtein
当我使用上述代码运行处理器时,它会失败。
错误:第3行没有名为Levenshtein的模块。
如果这个特定的库是一个本地模块(编译的C代码),Jython(ExecuteScript
使用的Python执行引擎)将无法加载它。
解决方法是使用ExecuteProcess
或ExecuteStreamCommand
并调用python
总结一下Andy所说的,这个Levensthein模块是用C语言编写的,不能被Java的虚拟机执行,假设你正在运行一个Jython实现。