pyinstaller发布exe,弹出Failed to execute script main

十年热恋 提交于 2020-04-26 08:17:08

1.在PyCharm中按Alt+F12打开Terminal对话框

1.1我的项目文件放在wxpython目录下,D:\learn\Weather index insurance\wxpython>pyinstaller -F -w teaindex_main.py 

1.2运行结束后在D:\learn\Weather index insurance\wxpython目录下生成dist文件夹和build文件夹,我的exe程序在dist文件夹下,双击exe弹出:

1.3重新在Terminal对话框中,运行D:\learn\Weather index insurance\wxpython>pyinstaller -F -c teaindex_main.py ,运行exe,可以看到问题所在,缺少module typedefs

应该使用:pyinstaller -F -c demo.py  此时打包完成后,点击exe执行文件,如果有报错的话,将在控制台显示。这是,要做好截图的准备,因为控制台报错后是一闪而过的。

1.4查阅网上的解决方法

将打包代码改成:

D:\learn\Weather index insurance\wxpython>pyinstaller -F -c teaindex_main.py --hidden-import sklearn.neighbors.typedefs

问题解决了!成功生成可以运行的exe文件

1.5生成带图标的程序D:\learn\Weather index insurance\wxpython>pyinstaller -F -w -i sunny.ico teaindex_main.py --hidden-import sklearn.neighbors.typedefs

 1.6在打包时会出现问题Cannot find existing PyQt5 plugin directories ,具体截图如下

 

解决办法:

  • 用everything搜索PyQt5,找到 /Library/plugins路径下的PyQt5文件夹,将里面的dll动态库pyqt5qmlplugin.dll复制出来
  • 按照错误提示的路径,一个个的新建文件夹,形成目录C:\qt5b\qt_1524647842210\_h_env\Library\plugins,将刚才复制出来的dll动态库拷贝进去即可

1.7 如果除了缺少上面那个模块,还缺少No module named 'sklearn.utils._cython_blas',在最后加上这个模块如下所示。

pyinstaller -F -w teaindex_main.py --hidden-import sklearn.neighbors.typedefs --hidden-import sklearn.utils._cython_blas

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!