用pyinstaller打包多个py文件转成exe格式

用pyinstaller打包多个py文件转成exe格式

用pyinstaller打包多个py文件转成exe格式

响应国家号召2019-Ncov 在家闲来无聊,学写一个飞船攻打外星人的python程序,并打包成exe。综合了几个博客成功将自己写的python 文件转成exe。

首先要注意一下:打包python文件成exe格式这个过程只能在windows环境下运行.打包后的程序不依赖客户端是否安装python。

  1. 用Pycharm 安装Pyinstaller 和pywin32.
    File->Settings->Project Interpreter.点击右侧+号,在“Available Package”中搜索"Pyinstaller"可安装版本,然后点击“Install Package”按钮。(极力推荐大家安装Pycharm IDE 编写调试代码,非常好用)
    用pyinstaller打包多个py文件转成exe格式
  2. 安装完Pyinstaller后,按照相同方法安装Pywin32.
    用pyinstaller打包多个py文件转成exe格式
    3.找到pyinstaller.exe 的安装目录
    用pyinstaller打包多个py文件转成exe格式
  3. 按照https://blog.csdn.net/weixin_43502949/article/details/101057825方法生成一个原始的spec文件。
    在pyinstaller目录下,命令行输入pyi-makespec alien_invasion.py
    alien_invasion.py.py为Python程序的入口py文件,根据自身项目情况修改
    将在当前文件夹下生成了一个alien_invasion.spec文件
    用pyinstaller打包多个py文件转成exe格式
  4. 打开SPEC 文件,修改如下

用pyinstaller打包多个py文件转成exe格式
6. 执行下面的命令行(这里绝对路径是通过拖拽文件自动获取的,其实可以用相对路径)
E:\Python_PyCharm37\venv\Scripts*pyinstaller.
exe
* -D E:\Python_PyCharm37\alien_invasion*alien_invasion.spec*
用pyinstaller打包多个py文件转成exe格式
6。pyinstaller会在当前目录下生成两个文件build 和dist。最终的打包程序exe放在dist下面。双击exe执行。
用pyinstaller打包多个py文件转成exe格式
7. 一开始我的exe程序每次都能生成,但是执行时总是异常。后来浏览了其他博主的经验发现是程序里面Font用了None的地方(None的话就采用系统默认GBK格式,有些字符将识别不了),修改为某一种特定的字体就好。
pygame游戏的py文件运行好好的,打包成exe文件就会闪退,并且不给出报错信息。经排查,是字体的问题:
font = pygame.font.SysFont(‘None’,40)
上式不会在py文件运行中出现问题,但是exe文件就会导致崩溃。所以需要更换成系统自带的字体,比如 Arial 或Tahoma:
font = pygame.font.SysFont(‘Tahoma’,40)

8.最终的效果为
用pyinstaller打包多个py文件转成exe格式
————————————————
附录:pyinstaller 命令行参数释义
pyinstaller -F demo.py
参数 含义
-F 指定打包后只生成一个exe格式的文件
-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
-c –console, –nowindowed 使用控制台,*面(默认)
-w –windowed, –noconsole 使用窗口,无控制台
-p 添加搜索路径,让其找到对应的库。
-i 改变生成程序的icon图标

参考链接:

  1. https://www.jianshu.com/p/5a59b6985346
  2. https://blog.csdn.net/yu3235119310/article/details/102878480
  3. https://blog.csdn.net/weixin_43502949/article/details/101057825
    如有侵权,请连接我删除。这里只是个人学些笔记,供参考。
用pyinstaller打包多个py文件转成exe格式用pyinstaller打包多个py文件转成exe格式 weixin_45405820 发布了1 篇原创文章 · 获赞 0 · 访问量 18 私信 关注
上一篇:python编程:从入门到实践----第六章>字典


下一篇:VCL界面开发工具!DevExpress VCL v20.1.7全新出发