首页 > 解决方案 > Apache NiFi 中的 Python 错误:导入错误:没有名为 Pandas 的模块

问题描述

我是 NiFi 的新手。我正在尝试使用ExecuteScript处理器执行 Python 脚本。当我尝试一个没有导入命令的简单脚本时,它运行良好并在 nifi.StdOut 中显示输出。当我尝试运行包含导入命令的脚本时,如import pandas. 它显示以下错误:

导入错误:没有名为 Pandas 的模块

我尝试在属性的模块目录中提供 pkgs 的路径。但它不锻炼。任何帮助,将不胜感激!

标签: python-3.xpandasapache-nifi

解决方案


我认为问题在于 pandas 是一个本地编译的模块(它是用 C 编写的)而不是纯 Python。这是一个问题的原因是由于 JSR-223 引擎,Apache NiFiExecuteScript处理器使用Jython而不是实际的Python。所以 Python 代码可以很好地运行,但它不能依赖于不是纯 Python 的模块。

解决方法是使用ExecuteStreamCommand处理器通过命令行(即python my_script_that_uses_pandas.py)调用依赖于 pandas 的 Python 脚本。流文件内容将流式传输STDINSTDOUT. 这是一个相关的答案,详细描述了这一点。


推荐阅读