python-3.x - Apache NiFi 中的 Python 错误:导入错误:没有名为 Pandas 的模块
问题描述
我是 NiFi 的新手。我正在尝试使用ExecuteScript
处理器执行 Python 脚本。当我尝试一个没有导入命令的简单脚本时,它运行良好并在 nifi.StdOut 中显示输出。当我尝试运行包含导入命令的脚本时,如import pandas
. 它显示以下错误:
导入错误:没有名为 Pandas 的模块
我尝试在属性的模块目录中提供 pkgs 的路径。但它不锻炼。任何帮助,将不胜感激!
解决方案
我认为问题在于 pandas 是一个本地编译的模块(它是用 C 编写的)而不是纯 Python。这是一个问题的原因是由于 JSR-223 引擎,Apache NiFiExecuteScript
处理器使用Jython而不是实际的Python。所以 Python 代码可以很好地运行,但它不能依赖于不是纯 Python 的模块。
解决方法是使用ExecuteStreamCommand
处理器通过命令行(即python my_script_that_uses_pandas.py
)调用依赖于 pandas 的 Python 脚本。流文件内容将流式传输STDIN
到STDOUT
. 这是一个相关的答案,详细描述了这一点。
推荐阅读
- django - Django 模型字段在所有子类中唯一
- javascript - jQuery:点击时切换功能,因为 toggle() 不再可用
- python - 如何避免spyder中的地块收缩?
- java - 有哪些巧妙的方法可以有效地序列化数字向量?
- python - skimage.transform.PiecewiseAffineTransform,示例中的目标点
- laravel - 实施自定义 Laravel 护照授予的正确方法是什么?
- mysql - 使用docker连接MySQL数据库不一致
- excel - Excel公式找出3列中的日期是否相同?
- react-native - React Native 中的共享首选项
- node.js - 如何使用 Parse Server 获取 JobStatus