问题:在调试过程中,出现瞬间黑屏报错的瞬间如何去处理呢?
答:打开cmd,输入所在exe的路径便能看到完整的报错信息
Pyinstaller打包多文件工程报错:
Traceback (most recent call last):
File "GUI.py", line 8, in <module>
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
File "modbus_trans.py", line 114, in <module>
AttributeError: module 'serial' has no attribute 'Serial'
[14528] Failed to execute script 'GUI' due to unhandled exception!
解决:
在生成的GUI.spec里添加下列模块:
from importlib.util import find_spec # 用于查找模块所在路径
from os.path import dirname
from os import path
from pprint import pprint
import os, re
然后再exe的上面添加
pprint(a.datas)
观察a.datas中的文件
('csv', 'e:\\program files\\python39\\lib\\csv.py', 'PYMODULE'),
发现在E盘,实际我的工程在D盘这里是环境没有隔离导致仍然调用E盘的库文件,
将:
pathex=['D:\Program Files\Python39\Lib\site-packages'],#指定库路径
hiddenimports=['serial'],#指定库
修改为:
pathex=['E:\Program Files\Python39\Lib\site-packages'],#指定库路径
hiddenimports=['serial'],#指定库
问题解决
Pyinstaller打包解析
最后在CMD中使用pyinstaller GUI.spec
3691

被折叠的 条评论
为什么被折叠?



