栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python图形化界面调用Matlab后使用Pyinstaller打包

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python图形化界面调用Matlab后使用Pyinstaller打包

1. 错误出现情况
  • 使用 python调用matlab程序
  • 环境使用anaconda搭建
  • python版本:3.5
  • matlab版本:matlab2018b

应导师要求,使用python调用matlab脚本,并生成exe文件(使用pyinstaller)
错误使用命令:

pyinstaller xxx.py

生成成功,但是运行时报错
报错的具体信息为:

Traceback (most recent call last):
  File "test.py", line 5, in 
  File "d:programfilesanacondaenvsek80pythonlibsite-packagesPyInstallerloaderpyimod03_importers.py", line 623, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packagesmatlab__init__.py", line 24, in 
ImportError: No module named 'mlarray'
[13856] Failed to execute script test
2.解决方案 STEP1:构造目录结构

在要打包的路径下构建hooks文件夹,创建钩子函数。

- test.py  # 准备打包的python文件
- hooks  # 文件夹
	- hook-matlab.py # hooks文件夹下的文件
STEP2: 编辑HOOK-MATLAB.PY文件
from PyInstaller.utils.hooks import collect_all

datas, binaries, hiddenimports = collect_all('matlab')
STEP3:打包命令

在打包命令后加上:

--additional-hooks-dir=hooks

例如:

pyinstaller test.py --additional-hooks-dir=hooks
3. 测试效果

重新打包生成的文件可以完美运行。

TIP:

运行过程中报了一个编码错误,原因是系统语言中英文设置问题,更改非Unicode程序中使用语言为中文即可

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987296.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号