使用python在Web上部署matlab应用程序

Ras*_*mus 6 python django matlab flask

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

std*_*err 6

您的Matlab代码打包为Jars这一事实在这里可能没那么多,至少不是纯Python.

有几种方法可以用Java编写代码并将其公开给Python.

Jython的

如果你愿意给Jython一个机会,这可能是一个非常简单的方法来为你的jar提供Django接口.

基本上你可以编写一个普通的Django应用程序,并使用Jython与你的Jars本地工作.假设您不依赖于CPython,这可能是两个世界中最好的.

Django的Jython的

Java兼容性接口

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

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

独立流程:

如果您有一个用Matlab编写的独立程序(实际上是任何语言),您可以将其作为Django应用程序的子进程执行.您将在Django中查看一个简单的Web表单,它允许您提交值作为此进程的输入,然后在您的视图中(在验证表单之后),您将执行以下操作:

command = "mymatlabprogram.exe %s"%(arg1,)
process = subprocess.Popen(command.split())
stdout, stderr = process.communicate()
Run Code Online (Sandbox Code Playgroud)

假设有效,你可以从stdr中删除stdout或错误消息中的答案.您可以提供由该过程创建的图像等.一旦这样的工作正常,您可以查看celeryd从您的Web应用程序中提取子流程的东西.

使用单独的流程的优势在于,您可以将Matlab代码中的错误与破坏Web应用程序的错误隔离开来.缺点是您必须序列化所有内容并在客户端的浏览器和Web应用程序之间,Web应用程序和可执行文件之间多次工作,然后返回到客户端.