欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用Pyinstaller把Python3.4程序打包成可执行文件exe

程序员文章站 2022-05-27 17:05:54
...

最近在学Python语言,照着书上一个用Pygame的例子写了一个游戏程序,想把它打包出来,在网上找了很多帖子,但在实际过程中还是遇到了很多问题,所以做个笔记,备忘:

  • Windows7 64位操作系统
  • Python3.4 64位
  • pygame1.9.3 64位

——————-`

pip

pip 是一个安装Python包的工具, 一般是在Python安装目录下的Scripts文件夹里。如果电脑上有pip,打开CMD窗口,进入pip所在目录,或者把这个目录添加到环境变量,输入

pip list

就可以看到已经安装的Python包
用Pyinstaller把Python3.4程序打包成可执行文件exe
如果电脑上没有,可以到网上下载一个,链接https://pypi.python.org/pypi/pip
用Pyinstaller把Python3.4程序打包成可执行文件exe
下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,输入:

python setup.py install

等待完成安装即可。

Pyinstaller

Pyinstaller是一个用来打包程序的模块,需要到官网下载,下载链接http://www.pyinstaller.org/downloads.html
用Pyinstaller把Python3.4程序打包成可执行文件exe
当前版本支持的Python版本,以及如何安装,在官网上都有介绍。
下载下来之后解压,用CMD进入解压目录,输入

pip install pyinstaller

在这个步骤我的安装过程多次出错,基本都是缺少模块引起的。如果提示缺少distribute,官网下载,https://pypi.python.org/pypi/distribute,用pip安装

pip install distribute

如果缺少setuptools、pywin32,同样下载安装。
如果依然报错,试试输入这个

pip3 install pyinstaller

本人亲测有用。

打包

将所要打包的程序(即.py文件和引用的资源文件)放在一个文件夹里,用CMD进入这个目录,输入

pyinstaller -F -w XXX.PY

XXX.py即有程序入口的那个文件。
等待打包完成,会生成一个build文件夹和一个dist文件夹,exe可执行文件就在dist文件夹里,如果程序引用有资源,则要把资源文件放在这个exe正确的相对目录下。

如果打包出错,可以参考build文件夹里的warnXXX.txt文件,这个文件记录了一些警告信息,仅供参考,并不一定能在里面找出错误。
根据官方文档的说法,应该先打包成单文件夹的形式,也许比单文件更能找出错误,即使用

pyinstaller -D -w XXX.py

命令进行打包。
我的exe运行出错,然后我使用了Visual studio进行调试,它告诉我pygame.font.pyd出错,即pygame下字体模块加载出错,于是我下载一些.ttf格式的字体文件,然后把程序里面用到字体的地方改成

pygame.font.Font('XXX.ttf', 40)

但是这并没有解决我的问题,最后搞了半天才发现是资源路径不对,一定要检查exe文件与资源文件的相对路径!!!

最后的最后,我终于把我的程序打包成了exe,成功运行。
用Pyinstaller把Python3.4程序打包成可执行文件exe