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

1.环境配置:

python: 3.7

matlab: 2020b

2.问题描述:

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

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

3.解决:

从错误信息中首先找到出错的文件:\Lib\site-packages\matlab\engine\__init__.py

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

 

 _arch.txt内容:

win64
D:\Program Files\Polyspace\R2020b\extern\engines\python\..\..\..\bin\win64
D:\Program Files\Polyspace\R2020b\extern\engines\python\dist\matlab\engine\win64

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值