1.首先说明python如何调用matlab函数的?

有四种方法:(1)调用python的库mlab

我的python版本是2.7.13,然后是装的mlab-1.1.4(安装这里是21年12月弄的,已经不记得步骤了,应该就是找的各种帖子)这个方法是成功了的,但是我不记得具体步骤了。。。

python 调用MATLAB colormap python调用matlab函数并打包_主函数

 程序里是这样调用的,然后下面直接matlab.main()就可以调用了。

(2)调用matlab引擎(具体看上面链接,没有实际操作)

(3)将matlab程序打包成ddl调用(具体看上面链接,没有实际操作)

(4)将matlab程序打包成python package调用

这个我试验过了,(前提我的matlab函数中需要调用外部txt文件还有mat文件)

python 调用MATLAB colormap python调用matlab函数并打包_数据库_02

 

python 调用MATLAB colormap python调用matlab函数并打包_python_03

 

python 调用MATLAB colormap python调用matlab函数并打包_mysql_04

 

这个需要在matlab的命令行输入deploytool,就出现第一个图片,接着选library compiler选项,就出现下面这个图片。在保存按钮右边这个白框框里翻到最下面选python package,然后在粉框框里选择你要打包的matlab主函数。库名library name默认和主函数名字一样。然后第三幅图里Files required for your library to run会自动识别主函数里调用的函数填充到这里。

python 调用MATLAB colormap python调用matlab函数并打包_python_05

打包成功之后会在matlab函数的文件下生成一个以库为名的文件 ,链接里作者是以hill为库名,生成这个文件夹,然后打开cmd,cd 到刚刚的for_redistribution_files_only文件夹下(比如说C:\Desktop\hill\for_redistribution_files_only)然后接着输入命令:python setup.py install  就装好了。

就可以在python函数中引用了。(具体例子请看上面链接)

import hill
重点是,我用这个方法,把该打包的就都打包了,也import了,有的功能确实可以实现,但是所有涉及到matlab弹出窗口的都不行,就闪一下就没了,我也没找到原因。我的界面里用到了图片,我我把图片打包进去以后也还是不行,真是头痛。。。。。。

 2.关于打包问题:pyinstaller

(1)开局遇难题,我要安装pip install pyinstaller,但是pip版本太低是9.0.1

然后用python -m pip install --upgrade pip(从9.0.1→20.3.4)

然后就可以接着下载pyinstaller了,但是下载过程报错,原来这个语句下载的pyinstaller版本不适合python2.7(注意,pyinstaller3.5以后的版本都不支持python2 了,所以我下载的是3.4版本)

详情请查看这条链接,写的很清楚!

 具体怎莫打包我是随便找的帖子看的,没有深入了解,照猫画虎而已。。。。

(3)关于我打包成功生成exe文件之后,确实能打开软件,但是涉及到的与matlab有关的所有界面都无法显示,这让我很是不解。因此我就开始为期五天的弯路。。。最终在这个帖子里看到一句话,我悟了::::将dist里的exe软件拖到与python主函数平级的目录下即可!!!!确实可以,然后我就欣喜若狂,成了!!

这篇文章真是救了命了!

(我只是一个平平无奇啥也不懂的弱女子哈哈哈哈,这个是我在调程序中遇到的一些头痛的问题,当然还有很多细节已经忘了,希望这里的某一句话恰巧是你正遇到的问题,如果能帮助到uu们真是无尽的荣幸,第一次写语言有点混乱,如果有写的不好或者不对的地方还请大佬们指正,千万嘴下留人呀,不要喷我哈哈哈啊哈!还有我不是很懂这个原创怎样才算,里面用到了几篇大佬的帖子但是内容是我自己敲的,不太懂,有无uu可以答疑解惑)