嗨我想部署一个matlab应用程序在网络上使用python。有没有办法做到。我已经把我的应用程序转换成jar文件(java类)根据文档的数学作品网站。有人能指出我在正确的方向继续前进
kq4fsx7k1#
Matlab代码被打包成Jars的事实在这里可能没有多大帮助,至少对于纯Python来说是这样。有几种方法可以将用Java编写的代码公开给Python。
如果您愿意给予Jython,这可能是一种为jar提供Django接口的非常简单的方法。基本上你可以编写一个普通的Django应用程序,同时使用Jython来原生地处理你的Jars。假设你不依赖CPython,这可能是两全其美的。Django-Jython
在CPYTHON上,以下项目之一将帮助您处理Jar文件中的代码:
如果你有一个用Matlab(任何语言)编写的独立程序,你可以把它作为Django应用程序的子进程来执行。你可以在Django中查看一个简单的web表单,它允许你提交值作为这个进程的输入,然后在你的视图中(验证表单后)你可以做如下操作:
command = "mymatlabprogram.exe %s"%(arg1,) process = subprocess.Popen(command.split()) stdout, stderr = process.communicate()
假设这起作用了,你可以从stdout中提取答案,或者从stderr中提取错误消息,你可以提供一个由该进程创建的图像,等等。一旦这样的事情起作用了,你就可以查看celeryd,从你的web应用程序中提取子进程的东西。使用单独进程的优点是可以隔离Matlab代码中的错误,避免破坏Web应用程序,反之亦然。缺点是必须序列化所有内容,并在客户端浏览器和Web应用程序之间、Web应用程序和可执行文件之间以及返回客户端之间多次使用。
1条答案
按热度按时间kq4fsx7k1#
Matlab代码被打包成Jars的事实在这里可能没有多大帮助,至少对于纯Python来说是这样。
有几种方法可以将用Java编写的代码公开给Python。
杰松
如果您愿意给予Jython,这可能是一种为jar提供Django接口的非常简单的方法。
基本上你可以编写一个普通的Django应用程序,同时使用Jython来原生地处理你的Jars。假设你不依赖CPython,这可能是两全其美的。
Django-Jython
Java兼容性接口
在CPYTHON上,以下项目之一将帮助您处理Jar文件中的代码:
单独过程:
如果你有一个用Matlab(任何语言)编写的独立程序,你可以把它作为Django应用程序的子进程来执行。你可以在Django中查看一个简单的web表单,它允许你提交值作为这个进程的输入,然后在你的视图中(验证表单后)你可以做如下操作:
假设这起作用了,你可以从stdout中提取答案,或者从stderr中提取错误消息,你可以提供一个由该进程创建的图像,等等。一旦这样的事情起作用了,你就可以查看celeryd,从你的web应用程序中提取子进程的东西。
使用单独进程的优点是可以隔离Matlab代码中的错误,避免破坏Web应用程序,反之亦然。缺点是必须序列化所有内容,并在客户端浏览器和Web应用程序之间、Web应用程序和可执行文件之间以及返回客户端之间多次使用。