python 多文件工程打包成exe报错

问题:在调试过程中,出现瞬间黑屏报错的瞬间如何去处理呢?

答:打开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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值