如何使用 chaquopy 在颤振中包含 python .py 文件?

Posted

技术标签:

【中文标题】如何使用 chaquopy 在颤振中包含 python .py 文件?【英文标题】:how do you include python .py file in flutter using chaquopy? 【发布时间】:2021-09-13 09:06:49 【问题描述】:

我试图在我的flutter项目中包含.py文件以使用sklearn和numpy,能够理解如何包含.py文件但不明白如何在flutter main.dart应用程序中调用它,一个小例子将乐于助人 谢谢你

【问题讨论】:

请添加您到现在为止尝试过的内容和一些代码。谢谢 我在我的项目中添加了 chaquopy.dart 文件,并且能够在其中添加带有 script.py 文件的 python 文件夹,主要问题是如何在我的颤振项目中调用该 python 文件使用chaquopy.executeCode 命令并在地图中获取结果 【参考方案1】:

Chaquopy 允许您通过 Java API 访问 Python 代码。因此,在 Flutter 中,您应该使用与调用任何其他 Java API 相同的技术,这似乎是 "platform channels"。

有一个示例here,您可能会发现它很有用。

【讨论】:

我已经在使用 chaquopy,能够安装并包含 chaquopy,但问题是当我尝试将 pythonn 文件调用到 Flutter 项目中或让 .py 文件执行并给我结果表明这是问题所在。我确实看到了这个例子,但无法理解它是如何实现的。语法将有助于 Chaquopy.executeCode() 链接示例是关于在运行时解释任意 Python 代码,这可能不是您想要的。但是,它确实展示了如何使用平台通道功能,您可以针对自己的应用程序进行调整。我不能更具体,因为我自己没有任何 Flutter 经验。 感谢您的帮助,我一定会尝试仅使用示例【参考方案2】:

您不需要调用 .py 文件,插件会在内部为您调用该文件。您只需要调用Chaquopy.executeCode() 函数,并在其中编写代码。我在这里为您举一个例子:

假设你想打印一个数字,下面是你的代码:

a = 10
print(10)

您需要做的是,将 textinput 中的代码作为字符串放入Chaquopy.execute() 方法中:

code = 'a=10\nprint(a)'
Chaquopy.executeCode(code)

希望这会有所帮助。你不需要在内部调用任何东西。

【讨论】:

以上是关于如何使用 chaquopy 在颤振中包含 python .py 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Chaquopy:将 Java ArrayList/LinkedList 转换为 Python 数组

如何在使用 Chaquopy 时在 android 中显示加载动画

Chaquopy 不支持 AIML

在 Android Studio 中使用 Chaquopy 将值插入到 python 文件中

TypeError 使用 chaquopy 调用 python 函数

Android Studio Chaquopy 吐司消息