资讯专栏INFORMATION COLUMN

pyinstaller 打包成exe出现的问题+解决办法

zhoutao / 2788人阅读

摘要:由此知道,打包并没有将调用到的资源文件打包在文件中,所以没有办法再用到该资源。解决办法是将资源和文件放到同一目录或者将源码中用到的资源路径改成绝对路径。

问题:exe文件运行无反应

首先查看自己打包时候用的参数,如果码中没有tkinter之类的GUI窗口的话就不要用 -w 了
同时查看一下码里面有没有标准化输入输出,例如print,如果有就不要用 -w
因为 -w 参数的意思是关掉控制台dos窗口,本来要显示的东西就只能显示在dos上,所以自然什都没有

解决方案

pyinstaller -F xxx.py

问题:提示failed to execute script xxx

这个问题我遇到的时候是用tkinter在写一个小程序,生成exe点开之后就出现了failed to execute script xxx的问题,如下图

解决方案

 重新打包,在打包的时候加入了参数 -c

加入参数-c后重新打包再次运行exe

-c的作用是返回错误信息!错误信息如上图所示,没有找到‘bg.jpg’!
这个文件是我用作tkinter窗口背景的一张资源。
这张图片是直接放在py文件的同一目录下的,直接打开py文件运行没有问题
而生成exe后运行却提示failed to execute scrip...
问题就出在这里!打包后的exe生成在dist文件夹中,exe不在与资源文件在同一目录,将‘bg.jpg’ copy到 与exe文件同一目录下以后问题解决。由此知道,pyinstaller打包并没有将调用到的资源文件打包在exe文件中,所以exe没有办法再用到该资源。解决办法是将资源和exe文件放到同一目录或者将源码中用到的资源路径改成绝对路径。

问题:打包的时候出现了很多warning:lib not found...dll

原因是pyinstaller 没有办法识别到这些dll

解决方案

解决办法是中copy warning中一些dll文件的名字,再电脑中搜索到他们的路径!
我搜索到的路径:C:UsersASUSAppDataRoamingpyinstallerbincache00_py36_64bit

该路径下面就是那一大堆warning的dll文件,这个路径添加到环境变量里面
方法如下
右键 此电脑——属性——高级——环境变量——用户变量中Path编辑新建然后填入刚刚dll所在的路径
然后问题就解决了

以上是我用pyinstaller时遇到的一些问题和解决办法,有不正确的地方欢迎指正,有问题也欢迎大家提出交流~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41697.html

相关文章

  • 为了没Python小伙伴儿,我学会了程序打包。【保姆级详细教学】

    摘要:如果觉得安装太慢,还可以加入国内镜像下载我比较习惯用豆瓣的。之前的文章有讲过滴常用源镜像清华阿里云中国科技大学华中理工大学山东理工大学豆瓣在里输入打包成的命令。   导语 这篇文章是我之前很想写的,但是拖到了今天! 咳咳咳......主要是有粉丝让我安排一下!宠粉.jpg 很多新手小伙伴儿...

    Java_oldboy 评论0 收藏0
  • 为了没Python小伙伴儿,我学会了程序打包!【保姆级详细教学】

    摘要:如果觉得安装太慢,还可以加入国内镜像下载我比较习惯用豆瓣的。之前的文章有讲过滴常用源镜像清华阿里云中国科技大学华中理工大学山东理工大学豆瓣在里输入打包成的命令。  导语 这篇文章是我之前很想写的,但是拖到了今天! 咳咳咳......主要是有粉丝让我安排一下!宠粉.jpg 很多新手小伙伴儿是...

    Euphoria 评论0 收藏0
  • 全网首份Python打包工具Pyinstaller实战指南,如丝滑般体验

    摘要:最好是客户双击,完事儿。目前已经兼容,以及和。一共会有个对象,分别是。,就是我们的工作目录,存放我们的数据。编译打包最后,我们执行就好了。打包的可执行文件会在里,中是一些打包时候需要的文件。输出中最后有字样,就算成功了。 showImg(https://img-blog.csdnimg.cn/20190303211533768.png?x-oss-process=image/water...

    caikeal 评论0 收藏0
  • 将python打包exe可执行文件—Pyinstaller工具

    摘要:现在,主流的工具有,本文只介绍的使用。准备工作开发环境和工具可以支持和。 python是脚本语言,如果你在开发机器上执行当然会很方便,可是如果你帮他人写了个脚本,想在他人机器上运行,可能会遇到点困难。 为了让脚本在他人机器上顺利执行,你首先要帮他安装python解释器,如果你import了一些库比如pandas,那这个也需要安装,甚至相关的依赖也需要安装。这个时间成本显然是很大的,这部...

    xiaoqibTn 评论0 收藏0

发表评论

0条评论

zhoutao

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<