python利用pyinstaller打包文件
首先在命令行下载pyinstaller包
pip install pyinstaller
下载完成以后对应工程进行打包即可,步骤如下
1.想要对哪个工程打包,右键如图所示进行操作。
2.在命令框中输入以下代码。
pyinstaller -F 工程名.py 参数F表示覆盖打包,这样打包时,不管我们打包几次,都是最新的,而且它是集成一个exe文件,不适合调试
pyinstaller - D -c 工程名.py 参数D 生成一个目录,各种依赖库,资源和exe都在目录下,参数c则显示命令行窗口,如果不想显示则需-w,一般情况下默认-c。
还有就是改变图标 代码为 pyinstaller -D -i ***.ico 工程名,参数-i 设定程序图标 ,其后面的xxx.ico文件就是程序小图标,这里注意一下,小图标的图片需放在当前目录下,后缀名改成.ico即可,代码实现如下
pyinstaller -F -w -i ./图片名.ico 工程名.py
以上几个就是常用的,足够满足需求了
在上图中输入以上代码即可打包
3.pyinstaller打包常见问题
1. 路径最好为英文,没有中文字符;
2. 脚本名称里没有特殊字符
3. 使用utf-8编码
4. 图标文件必须是正常格式,为.ico文件
5. 命令使用pyinstaller和pyinstaller.exe结果都是一样的
6. 参数的添加得在pyinstaller和dev.py文件中间,不能随意位置添加
7. 如果你打包的代码中用到了静态文件,如图片和资源文件,需手动复制到文件夹中,否则exe文件会报找不到文件的错
8. 代码里导包最好使用from的方式,可节省打包后的文件大小
9. 就是当你使用错误的参数去打包或者打包到一半中断,等等此类运行到一半没了的情况。会导致你原来的py文件变成一个0KB的空文件。里面的代码会全部消失!!!所以以后需要有个良好的习惯,就是复制一份代码出来,用这个副本进行打包。并且参数出错,或者打错了导致失败时,检查下副本文件的py文件是否还存在再继续重新打包,不然打出来的就是空的文件,自然一直闪退,因为压根没内容(这点我没遇到过,来自别人的提醒)
10. pygame代码调试的时候要在结束时加quit()不然程序会崩溃
11. py文件运行没问题,不代表你打包后的文件运行就没问题,所以在打包好文件,打算运行exe文件测试时一定要录屏,因为报错会一闪而逝然后程序关闭,不仔细看的话,发现不了还报错,只会认为程序一运行就闪退,会让人不明所以,都不知道为什么,只有清楚报的什么错才好去解决,所以,一定要录屏!!!!
12. 如果在py文件中用到了多进程,且你在Windows下编译需要加一行代码在开头,multiprocessing.freeze_support()
13. 打包的时候要进入到能运行这个py文件的虚拟环境中,不能在别的环境中对py文件打包,不然打包的结果还是你原来的环境,可能打包文件过大,或者引起缺失包等其他问题
14. 如果有打包错误,具体看build里的warn***.txt文档,里面详细记载了错误的原因。一般都是库丢失
python利用pyinstaller打包文件相关推荐
- Python执行pyinstaller打包生成的exe文件实战
Python执行pyinstaller打包生成的exe文件实战 目录 Python执行pyinstaller打包生成的exe文件实战 #pyinstaller打包生成的exe文件
- python 利用pyinstaller 编译.exe文件过程中编写完的.exe文件执行过程中闪退
问题描述: python 利用pyinstaller 编译.exe文件过程中编写完的.exe文件执行过程中闪退,并提示no module named 'pyproj.datadir' 解决方法: 闪退 ...
- 血泪!pyinstaller打包文件过大的解决方法
血泪!pyinstaller打包文件过大的解决方法 记录一下踩的坑吧,都是血泪! 文章虽然水平不高,但是还是希望能够对大家有帮助 文章目录 血泪!pyinstaller打包文件过大的解决方法 0x01 ...
- 解决pyinstaller打包文件过大的问题(Anaconda)
解决pyinstaller打包文件过大的问题(Anaconda) 前言 过程记录 关于pipenv创建的环境路径 前言 参考资料 pyinstaller基本操作 1.环境 anaconda.pycha ...
- pyinstaller安装失败_用 Pyinstaller 打包文件为应用程序
虽然之前我们的程序写好了,但是需要依赖于Python环境.怎么才能把我们写好的Python文件转化为exe可执行文件呢?借助这个机会,我学习了一下pyinstaller打包文件的模块.用到的命令就一行 ...
- 解决Pyinstaller打包文件太大的办法(绝对有效,亲测!!!)
Pyinstaller打包文件太大 1. 问题原因 在Anaconda下打包会将很多没有用到的模块打包进去,最终导致exe文件特别大. 2. 解决方案 通过pipenv建立一个纯净的Python虚拟环 ...
- 【Python】Pyinstaller打包路径配置(Failed to execute script ‘app‘ due to unhandled exception已解决)
一.说明 关于Pyinstaller,可以查看Python打包发布1(基于Pyinstaller打包多目录项目) Pyinstaller可以将资源文件一起打包到exe中,当exe在运行时,会生成一个临 ...
- pyinstaller打包文件及warn文件中许多missing module 的解决方法
python2.7下使用pyinstaller打包文件及warn文件中许多missing module 的解决方法 注:pyinstaller不属于python执行的包,需要在cmd命令行下使用. 1 ...
- python 利用多进程实现文件的拷贝
python 利用多进程实现文件的拷贝 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37338590/article/details/784 ...
最新文章
- 只需 9.9 元!前 Facebook 工程师 7 天带你掌握 7 大数据结构,大厂面试必备!
- JavaScript 初学者必看“箭头函数”
- Hibernate 主键维护策略和hibernate 常见的映射类型
- ZedGraph的曲线的LineItem对象的Tag属性存储信息进而在鼠标悬浮时进行显示
- linux ssh rpm包,RHEL6(CentOS6)中使用源码包编译生成RPM的基本方法:升级OpenSSH篇
- 从 Spark 的 DataFrame 中取出具体某一行详解
- python中parse.add_argument()简单用法
- 如何给python升级_python升级后,如何给virtualenv里的python进行升级
- 【Kafka】Kafka集群 动态 添加 节点 可行否
- Python输入输出详解
- 手动更新google服务框架
- 0606关于mysql优化原理
- 服务器装不上无线网卡代码10,win10专业版无线网卡出现错误代码10怎么办?
- 电子书chm转换html,chm转换为html的超简单方法
- vue中事件监听watch
- STAR软件安装以及使用
- @pack://application:,,,/报错
- 趁火打劫!“疫情做饵”的网络攻击来了
- 继续在深圳发展还是回武汉呢?
- XML轻松学习教程(修正完善版)