首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建可在亚马逊EC2上运行的独立Octave可执行文件

构建可在亚马逊EC2上运行的独立Octave可执行文件
EN

Stack Overflow用户
提问于 2020-05-27 09:01:36
回答 1查看 402关注 0票数 1

我们有一个用Octave编写的数学模型,我们希望在云中运行-也许是一个亚马逊网络服务EC2或ECS实例。这样做的原因是,我们希望从数据库(ElasticSearch)中输入数据,而不是依赖于一个人的机器来运行分析。我们还试图避免将m文件重写为Python或类似的代码。

我看过this question中的答案,发现很难相信没有一种更简单的方法可以将Octave脚本(包含多个文件)编译成可以在云中运行的独立程序。有没有人有这样做的经验?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-04 21:54:04

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

(有一些“冻结的”Python应用程序,它们通过捆绑的Python解释器或Matlab编译器提供完全打包的可部署应用程序,但没有Octave等效项。)

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

如果希望以单文件方式将应用程序传输到服务器进行部署,请将应用程序打包到ZIP文件中,将其复制到服务器,然后将其解压缩到安装位置。或者,您可以使用操作系统的本机包管理器将其打包,并让它声明对Octave的依赖。

你链接到的另一个问题中的“一个大的可安装包”方法是为了解决将Octave程序分发给非技术最终用户的问题,在程序作者不能控制的机器上。假设您的员工中有精通技术的人员,并且您控制着要部署到的云VM,因此您可能并不真的有相同的要求。

您还可以使用Docker并将您的应用程序+ Octave构建到Docker容器中,以实现完全自包含的部署。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62033825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档