1、问题的提出:
在一些web服务中,后台采用nodejs轻量化服务器接口,而matlab的.m文件编写了算法模块,两者调用时,官方没有提供相应的文档(当然也可能我没找到)。因此,本文提出了matlab的.m文件-python-nodejs的解决方案。
2、python调用matlab文件
不同matlab版本支持不同python版本。本机采用matlab 2017b+python 3.5.6版本
①、(如果未安装python,请跳过此步骤)通过conda命令检测python
conda info --envs
我这个版本是3.9的,因此需要创建虚拟环境,安装3.5版本的python
conda create -n py3 python=3.5.6
:: 再次输入环境查询命令
conda info --envs
进入这个文件后,输入命令,即可激活环境
activate py3
进入matlab 2017b的 “..\extern\engines\python”环境,输入命令
Python setup.py install
出现上图就是安装好了,然后将目录下新出现的文件夹“..\build\lib\matlab”移动到你虚拟环境下的“Lib\site-packages”,正常安装后,“Lib\site-packages”目录下会直接出现“matlab”文件夹
②、pycharm 中新建python项目,并建立test.py文件,将matlab的.m文件拖入到同一目录下
③、复制代码,可以看到运行结果
3、nodejs调用python
Nodejs调用python的几种方案_qq_30386941的博客-CSDN博客_nodejs调用pythonnodejs可以使用JavaScript进行后端应用开发,同时使用electron可以开发桌面应用,可以说是相当强大。如果要在nodejs中读取本地文件则可以使用fs模块进行,ffi模块可以调用C开发的动态库,也可以实现更多的本地化操作,但是C开发动态库难度比较大成本比较高,这时候可以考虑使用python代替。python可以说是相当简单,它的库非常丰富,几乎可以满足你能想到的需求,因此python代替C库开发是不错的选择,下面介绍几种nodejs调用python的方法。https://blog.csdn.net/qq_30386941/article/details/126819067