pyinstaller打包exe软件并解决 Pyinstaller failed to execute script main问题(用了sklearn库)

您所在的位置:网站首页 pyinstaller打包方法 pyinstaller打包exe软件并解决 Pyinstaller failed to execute script main问题(用了sklearn库)

pyinstaller打包exe软件并解决 Pyinstaller failed to execute script main问题(用了sklearn库)

#pyinstaller打包exe软件并解决 Pyinstaller failed to execute script main问题(用了sklearn库)| 来源: 网络整理| 查看: 265

一、基本的操作 pyinstaller -F --noconsole ***.py -n 软件名字 -i 1.ico

-F 参数是打包后,只留下一个.exe的可执行文件 默认情况下的参数是 -D 打包后在dist目录有多个依赖文件(但是用D启动会快一些) –noconsole 参数是运行时不显示控制台的意思,一般是 -w ,但是我w无法运行(注意这里两个–不是手误) -n 另外还可以使用 -n *** 的方式确定exe的文件名,如 -n 我的第一个exe程序 -i 显然是icon图标

二、出现问题 Pyinstaller failed to execute script main

首先确保原来的程序是可以运行的,然后这就是在命令行窗口启动这个程序看一下报错,参考了这个方法:https://blog.csdn.net/sxf1061700625/article/details/99713613

1、取消 -w 参数,让他显示命令窗口; 2、按住shift,右击鼠标,选择 “在此处打开powershell”(或命令窗口); 3、将生成的exe拖入,按回车; 4、可以看到具体的报错信息; 5、如果是“unable to find Qt5xx.dll”,就将Python安装路径下的/Lib/site-packages/PyQt5/Qt/bin添加到环境变量; 6、如果是“no module xxx”,就pip install安装对应的模块;

然后最后一行果然报错,ModuleNotFoundError: No module named 'sklearn.utils._cython_blas',怎么又是sklearn相关的问题呢。 在这里插入图片描述然后在这里看到了解答:https://stackoverflow.com/questions/57108026/pyinstaller-modulenotfounderror-no-module-named-sklearn-utils-cython-blas 也就是引入缺少的这一部分变量:pyinstaller -D --noconsole --hidden-import="sklearn.utils._cython_blas" --hidden-import="sklearn.neighbors.typedefs" --hidden-import="sklearn.neighbors.quad_tree" --hidden-import="sklearn.tree._utils" main.py -n 水泵检测系统 然后因为我的软件里有一个读取特定的Excel文件,因此还得把这个Excel文件放在exe当前目录下面,即可运行。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3