pyinstaller打包exe涉及调用matlab运行报ModuleNotFoundError: No module named ‘matlabengineforpython3

pyinstaller打包exe涉及调用matlab运行报ModuleNotFoundError: No module named ‘matlabengineforpython3,第1张

pyinstaller打包exe涉及调用matlab运行报ModuleNotFoundError: No module named ‘matlabengineforpython3

1.环境配置:

python: 3.7

matlab: 2020b

2.问题描述:

python开发的软件,其中需要调用matlab运行.m文件,前期开发已经安装了matlab的python支持模块,在IDE或者命令行直接执行脚本都是运行正常的。

由于开发电脑无法执行pyinstaller进行打包,换了一台电脑进行打包,打包完后在打包电脑运行exe程序是正常的,但是把exe文件拷到开发电脑运行,就会报错,如下:

3.解决:

从错误信息中首先找到出错的文件:Libsite-packagesmatlabengine__init__.py

打开查看,发现会从_arch.txt文件中读取matlab的目录。

 

 _arch.txt内容:

win64
D:Program FilesPolyspaceR2020bexternenginespython......binwin64
D:Program FilesPolyspaceR2020bexternenginespythondistmatlabenginewin64

如果运行exe文件的电脑中matlab安装路径和打包电脑的路径不一致,则无法找到matlab运行环境,就会报上面的错误。

解决方法是保证运行环境的matlab安装路径和打包时的路径是一致的。

我是直接将matlab安装目录拷贝一份,放到和打包电脑一致的目录,再执行exe文件,就不会报错了。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4827709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存