• 欢迎访问江南小虫虫的博客,CTF,信息安全,机器学习,Ubuntu的坑,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

pyinstaller打包pyqt5提示failed to execute script错误

未分类 江南小虫虫 2周前 (08-09) 14次浏览 已收录 2个评论

pyqt5 打包问题经过

这里用到的文件是pachonggui.py,里面使用了 pyqt5 的库

安装好pyinstaller后,先使用下面的命令对脚本进行打包

pyinstaller.exe -Fw .\pachonggui.py

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

执行完毕,生成两个目录

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

exe文件在dist目录下

双击运行出现Failed to execute script pachonggui错误

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

先去build目录那里,找到warn***.txt文件,里面会记录一些错误

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

这里可以看到,pyqt5的库没有找到

分析:正常来说,如果pyinstallerpip3安装好的,那么pyqt5应该也在同一个目录下,应该不会出现找不到路径的情况.所以说,有两种情况,一个是pyinstaller错了,一个是pyqt5错了,这里我先指定pyqt5的路径让它试试

找到 python3 的安装路径,我的是如下

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

然后使用--path 指定库目录,有一点需要注意:这里用的是/作为目录分隔符,而不是\

pyinstaller.exe --path E:/Python/Python36-32/Lib/site-packages/PyQt5/Qt/bin -Fw .\pachonggui.
py

重新打包之后,再次运行,报同样的错误,看build目录下的warn***.txt文件,还是同样的,没有找到PyQt5的库

因为本人安装了python2.7python3.6,但是我只给 python2.7 配置了环境变量,所以说,命令行那里的pyinstallerpython27目录下的,而不是python36-32目录下的,所以说,接下来,我命令提示符那里指定使用python36-32下的pyinstaller试试

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

执行打包命令之后,看到命令提示符,多了一些东西sip not found,不管它先,先记下来,然后继续运行一下exe

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

没错,还是这个错误… …

看一下warn***.txt

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

发现 pyqt5 已经成功导入了,说明之前的错误原因真是因为调用了python27pyinstaller,指定使用python36-32下的pyinstaller就没毛病了

这时候的warn***.txt是一大堆的看不懂的东西… …怎么办?

没关系,还有办法,使用-D指令,将这个 exe 弄成一个目录,然后使用命令行去运行新目录下的 exe,然后你应该会看到报错误了

E:\Python\Python36-32\Scripts\pyinstaller.exe -D .\pachonggui.py

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

这时候dist目录下会多一个目录pachonggui

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

然后,在这里,我需要使用命令提示符去运行这个exe

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

结果如下:

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

… …PyQt5.sip是什么东东???我代码里面没有用到啊!!!~~~

在这种情况下,我决定,手动在代码里面加入它,然后再执行一次打包命令

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

pyinstaller 打包 pyqt5 提示 failed to execute script 错误

不明白为什么提示sip not found还在,但是,这时候,exe 已经可以运行,没有 bug 了


江南小虫虫, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:pyinstaller 打包 pyqt5 提示 failed to execute script 错误
喜欢 (1)
[打开支付宝扫一扫]
分享 (0)
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 哪位同志知道PyQt5.sip是干啥用的?
    江南小虫虫2018-08-09 16:10 回复 Windows 10 | Chrome 67.0.3396.62