【老生常谈的问题】PyInstaller打包py为exe报错 “failed to excute script xxx”等一系列问题

之前遇到过此问题,也是纠结耽误了很多时间,今天详细总结下相应的解决办法。

我们使用pyinstaller打包写的python程序时,使用pyinstaller -F XXX.py命令执行完,在dist文件夹下,会生成打包后的XXX.exe程序。双击执行,如果执行成功!则,出门右转!如果报错“failed to excute script xxx”等,则继续往下看。此时,继续双击执行XXX.exe,慢着!先拿出手机,对准弹出的黑框录像,拍摄即将一闪而过的报错信息!然后回看录像,你会发现报错信息--诸如 ModuleNotFoundError: No module named XXX”。这时,我们就知道哪里出问题了。

注:如果选择不带有控制台的exe程序,可以使用pyinstaller -F -w XXX.py命令打包,可以发现这个命令比上边多了-w,意思是打包不带有window控制台(黑框)的程序。

针对拍到的报错信息,可以选择pip install XXX来安装相应的module,如果依然报错,则直接在打包命令里使用“ --hidden-import XXX”,例如 pyinstaller -F webservice.py --hidden-import XXX 。这样,我们就可以检查缺少什么包安装什么包,诸如

ImportError: Missing optional dependency 'fsspec'.
ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.
ValueError: Your version of xlrd is 2.0.1. In xlrd >= 2.0, only the xls format is supported. Install openpyxl instead.

等等一系列的报错,都可以迎刃而解!

 

 

你可能感兴趣的:(python,C#,python)