gpt4 book ai didi

python - 使用 python 在 web 上部署 matlab 应用程序

转载 作者:太空狗 更新时间:2023-10-30 00:00:29 24 4
gpt4 key购买 nike

您好,我想使用 python 在 Web 上部署一个 matlab 应用程序。有没有办法做到这一点。我已经根据数学作品网站上的文档将我的应用程序转换为 jar 文件(java 类)。有人能指出我前进的正确方向吗

最佳答案

您的 Matlab 代码被打包为 Jars 的事实在这里可能没有多大帮助,至少对于纯 Python 而言是这样。

有几种方法可以将用 Java 编写的代码公开给 Python。

杰通

如果您愿意试一试 Jython,这可能是为您的 jar 提供 Django 接口(interface)的一种非常简单的方法。

基本上,您将可以编写一个普通的 Django 应用程序,还可以使用 Jython 来本地处理您的 Jars。如果您不依赖 CPython,这可能是两全其美的方法。

Django-Jython

Java 兼容接口(interface)

在 CPYTHON 上,以下任一项目都将帮助您处理 Jar 文件中的代码:

  • JCC : 创建一个包装你的 Jar 文件的 Python 扩展模块
  • JPype : 提供用于运行 JVM 和从 Python 调用在该 JVM 中运行的代码的 API。

分离过程:

如果您有一个用 Matlab(实际上是任何语言)编写的独立程序,您可以将其作为 Django 应用程序的子进程执行。你会在 Django 中查看一个简单的 Web 表单,它允许你提交值作为此过程的输入,然后在你的 View 中(验证表单后)你会做类似的事情:

command = "mymatlabprogram.exe %s"%(arg1,)
process = subprocess.Popen(command.split())
stdout, stderr = process.communicate()

假设这可行,您可以从 stdout 中提取答案或从 stderr 中提取错误消息。您可以提供由该进程创建的图像,等等。一旦类似的东西开始工作,您可以查看 celeryd 以从您的网络应用程序中提取子进程内容。

使用单独进程的优势在于,您可以隔离 Matlab 代码中的错误,以免破坏您的 Web 应用程序,反之亦然。缺点是您必须序列化所有内容,并在客户端浏览器和您的 Web 应用程序之间、Web 应用程序和可执行文件之间以及返回客户端时多次使用。

关于python - 使用 python 在 web 上部署 matlab 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5831495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com