Python:pyinstaller 打包运行.exe报错 failed to execute script ***
本人也是边学边做,python3.7,pyinstaller版本3.6 ,试验多次出问题的怀疑跟pymssql模块有关,我的版本是2.1.4.(pymssql模块用于连接数据库,写的其他代码没有这个模块,没有报错)
解决办法:首先要查找问题的根源,可以根据点击程序查看报错原因。此时需要pyinstaller打包的时候pyinstaller -F **.py,打包不要带参数-w,因为带上参数-w是跳过cmd弹窗,看不到中间过程。
打包完成后,双击。exe文件,关键的来了,这时候点击运行程序,会看到有一堆提示闪现,因为太快,就是看不到,,,,即使手速再快点击键盘Pause/Break也来不及看报错。如果有人能看到提示,你们厉害。我想到的办法就是手机录下视频,然后回看每一帧,然后就可以看到报错的原因。
报错发生在Module Not FoundError:No module named 'decimal'
程序在加载模块的时候找不到decimal
在源代码中加入一行importdecimal 即可解决。
另外有朋友可能会碰到一下报错:
DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
弃用警告:从collections中导入ABCs已被弃用,并在python3.8中将停止工作,可使用collections.abc代替它进行使用
我的代码中没有使用到collections这个模块,我在网上找到的解决办法是:
在python安装目录*:\Python\Python37-32\Lib\collections(根据安装时候的路径)找到collections这个模块,在__init__.py文件中将第48-52行使用‘’‘’注释掉
然后就没有这个报错了。
PyQt5类似问题可以参考:/caokang/p/11266013.html