用Pyinstaller把Python3.4程序打包成可执行文件exe
2017-06-29 23:28
816 查看
最近在学Python语言,照着书上一个用Pygame的例子写了一个游戏程序,想把它打包出来,在网上找了很多帖子,但在实际过程中还是遇到了很多问题,所以做个笔记,备忘:
Windows7 64位操作系统
Python3.4 64位
pygame1.9.3 64位
——————-`
pip list
就可以看到已经安装的Python包
如果电脑上没有,可以到网上下载一个,链接https://pypi.python.org/pypi/pip。
下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,输入:
等待完成安装即可。
当前版本支持的Python版本,以及如何安装,在官网上都有介绍。
下载下来之后解压,用CMD进入解压目录,输入
在这个步骤我的安装过程多次出错,基本都是缺少模块引起的。如果提示缺少distribute,官网下载,https://pypi.python.org/pypi/distribute,用pip安装
如果缺少setuptools、pywin32,同样下载安装。
如果依然报错,试试输入这个
本人亲测有用。
XXX.py即有程序入口的那个文件。
等待打包完成,会生成一个build文件夹和一个dist文件夹,exe可执行文件就在dist文件夹里,如果程序引用有资源,则要把资源文件放在这个exe正确的相对目录下。
如果打包出错,可以参考build文件夹里的warnXXX.txt文件,这个文件记录了一些警告信息,仅供参考,并不一定能在里面找出错误。
根据官方文档的说法,应该先打包成单文件夹的形式,也许比单文件更能找出错误,即使用
命令进行打包。
我的exe运行出错,然后我使用了Visual studio进行调试,它告诉我pygame.font.pyd出错,即pygame下字体模块加载出错,于是我下载一些.ttf格式的字体文件,然后把程序里面用到字体的地方改成
但是这并没有解决我的问题,最后搞了半天才发现是资源路径不对,一定要检查exe文件与资源文件的相对路径!!!
最后的最后,我终于把我的程序打包成了exe,成功运行。
Windows7 64位操作系统
Python3.4 64位
pygame1.9.3 64位
——————-`
pip
pip 是一个安装Python包的工具, 一般是在Python安装目录下的Scripts文件夹里。如果电脑上有pip,打开CMD窗口,进入pip所在目录,或者把这个目录添加到环境变量,输入pip list
就可以看到已经安装的Python包
如果电脑上没有,可以到网上下载一个,链接https://pypi.python.org/pypi/pip。
下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,输入:
python setup.py install
等待完成安装即可。
Pyinstaller
Pyinstaller是一个用来打包程序的模块,需要到官网下载,下载链接http://www.pyinstaller.org/downloads.html。当前版本支持的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,成功运行。
相关文章推荐
- 11 Python pyinstaller--将Python程序打包成单独的exe可执行文件
- 利用PyInstaller把Python程序打包成exe可执行文件
- 用Pyinstaller把Python3程序打包成可执行文件exe
- Python程序打包成exe可执行文件
- 用PyInstaller把python程序打包成exe可执行程序
- Python:程序发布方式简介一(打包为可执行文件EXE)
- 用pyinstaller把python代码打包成exe可执行文件
- 使用 pyinstaller 打包 Python 程序为可执行文件
- 将Python程序打包成可执行文件exe
- 【转】python学习--用PyInstaller把Python代码打包成单个独立的exe可执行文件
- python程序打包成exe执行文件
- PyInstaller对python脚本进行代码打包成单个独立的exe可执行文件
- Python3.4(Pyhon)代码如何打包成.exe可执行文件——详细教程
- 用PyInstaller把Python代码打包成单个独立的exe可执行文件
- Python:程序发布方式简介一(打包为可执行文件EXE)
- PyInstaller将python脚本打包成exe可执行程序
- 用PyInstaller把Python代码打包成单个独立的exe可执行文件
- windows下使用cx_freeze将Python程序打包成exe可执行文件
- 用pyinstaller把python源文件打包成exe可执行文件
- python程序使用pyinstaller打包成单一.exe文件后,如何的到.exe文件所在目录?