构建一个可以在AWS EC2上运行的独立的Octave可执行文件。

问题描述 投票:0回答:1

我们有一个用Octave编写的数学模型,我们希望在云端运行--也许是AWS EC2或ECS实例。这样做的原因是,我们希望从数据库(ElasticSearch)中输入数据,而不是依赖一个人的机器来运行分析。我们也在尝试避免重写 m 文件到Python或类似的文件。

我看了一下答案,在 这个问题 很难相信没有一种更简单的方法将Octave脚本(包含多个文件)编译成可以在云端运行的独立程序。有人有这样的经验吗?

compilation octave exe
1个回答
0
投票

没有Octave工具可以做到这一点。但我认为你实际上并不需要它。和其他解释语言一样,比如Ruby或Python,部署基于Octave的应用程序的典型方法是在运行它的机器上安装Octave运行时(也就是Octave本身),然后将你的M文件集合部署到机器上,让它运行这些文件。由于你可以控制 EC2 实例,所以这是可行的。

(有一些 "冻结的 "Python应用提供了完全打包的可部署应用,并捆绑了Python解释器,或者Matlab的Matlab编译器,但没有Octave等价物)。

请注意,即使是编译过的语言也可能需要安装一个支持的运行时。例如,C++需要一个C++运行时(即Windows上的Microsoft Visual C++ Redistributable,或Linux上的GNU或CLANG C++库),Java需要一个JRE,而 "编译 "的Matlab应用程序需要Matlab Runtime。

如果你想用单文件的方式将你的应用程序传送到服务器上进行部署,可以将你的应用程序打包成ZIP文件,复制到服务器上,然后在安装位置解压。或者你也可以使用你的操作系统的本地包管理器来打包,并让它声明对Octave的依赖。

你链接到的另一个问题中的 "一个大的可安装包 "方法是为了解决在程序作者不控制的机器上向非技术性终端用户分发Octave程序的问题。大概你的员工中有精通技术的人,而且你控制着你要部署到的云虚拟机,所以你可能真的没有同样的要求。

你也可以使用Docker,将你的应用+Octave构建到一个Docker容器中,进行完全自足的部署。

© www.soinside.com 2019 - 2024. All rights reserved.