eric6 +pyqt+anaconda ===pyinstaller pyzbar pyttsx3 打包踩坑记录
本文禁止转载
版本:Anaconda3-4.4.0-Windows-x86_64.exe
版本:pyinstaller4.0
版本:eric6
=========关键出问题的库===
from pyzbar import pyzbar
import pyttsx3
===================
先总结一下:
打包程序之前,最好就是 先直接 pyinstaller py文件 ,然后通过shell 看看有没有报错,没有报错在重新打包成其他的形式。
有报错正好可以找补丁。但修好补丁之后,不能使用 -F,也就是只能打包成目录形式的。
#########
整个过程:
开始阶段:cd 到 .py 文件所在目录,然后pyinstaller -F -w -i 图标位置 py文件。打包成exe之后,打开exe,报 failed to excute script xxx
开始找问题:
第一步:cd 到 .py 文件所在目录 ,然后 pyinstaller py文件 。打包成目录文件之后,找到exe所在目录
第二步:按住shift,鼠标右键,打开shell,输入:.\exe名称.exe
这是我的例子:
解决方案:
找到C:\\ProgramData\\Anaconda3\\Scripts\\dist\\c\\pyzbar\\libiconv.dll 这个文件,一定能找到。然后把 libiconv.dll文件以及 libzbar-64.dll 文件复制到 exe同级目录下。再输入:.\exe名称.exe
继续报错:
又一个no module,这种都是好解决的。解决方案:找到 pyttsx3文件夹,直接将文件夹复制到 exe同级目录下。再输入:.\exe名称.exe
终于可以运行了。
如果想要打包成单文件版本,使用封包工具打包这个exe目录就行。
附:
打包时,添加这个命令可以直接解决 找不到 pyttsx3文件夹 的问题。
pyinstaller a.py --hidden-import=pyttsx3.drivers.sapi5