微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在 nifi executestreamcommand 中读取 python3 库

如何解决无法在 nifi executestreamcommand 中读取 python3 库

我想在 nifi 中使用 ExecuteStreamCommand 来运行 python 脚本,比如 script.py

我的脚本已声明 #!/usr/bin/python3

但它无法从python3读取库

我可以将脚本作为 python3 script.py 运行,但不能在 nifi 的 ExecuteStreamCommand 上运行

enter image description here

任何人都有解决方

解决方法

在上面的示例中,您没有直接调用 python3,这是 ExecuteStreamCommand 所期望的(脚本路径应该是一个参数)。 NiFi 使用的环境可能与您在终端程序中使用的环境不同,查看 shebang 行的文件可能是您的 shell 的一个功能,在执行外部程序时 NiFi JVM 可能无法使用该功能过程。

,

补充马特的答案

你可以直接从 ExecuteStreamCommand 指向 python3 bin

例如

命令路径:/usr/bin/python3

命令参数:/path/to/script.py;x;y;

其次,您不应将 #!/usr/bin/python3 用作 Python3 shebang,而应使用 #!/usr/bin/env python3 - 请参阅此处 Should I put #! (shebang) in Python scripts,and what form should it take?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。