【问题标题】:Python error in Apache NiFi: Import Error: No module named PandasApache NiFi 中的 Python 错误:导入错误:没有名为 Pandas 的模块
【发布时间】:2019-09-02 06:52:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: python-3.x pandas apache-nifi


    【解决方案1】:

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

    解决方法是使用ExecuteStreamCommand 处理器通过命令行(即python my_script_that_uses_pandas.py)调用依赖于pandas 的Python 脚本。流文件内容将流式传输到STDIN 并从STDOUT 捕获。这是一个related answer 详细描述了这一点。

    【讨论】:

    • 嗨@Andy。我被这个问题困扰了很多天:stackoverflow.com/questions/55606681/…你能帮我解决这个问题吗
    • 您似乎继续将新问题放入同一个问题中,这不是网站的工作方式。我建议您针对您遇到的明确问题打开一个新问题。我认为问题在于流文件内容是通过STDIN 传递的,而不是放入您尝试在 Python 代码中引用的特定文件位置。
    • 嗨,安迪,你能帮我完成上面的帖子吗?需要一些指导。
    猜你喜欢
    • 1970-01-01
    • 2020-09-14
    • 2016-07-11
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多