ECNUCS_Programming Club
需要用到的工具:
Inno Setup Compiler 点击下载
Pyinstaller 安装方法见下文
大致分为两步,先用pyinstaller把python文件打包为exe文件,再用Inno Setup Compiler将包打包成安装文件。
Pyinstaller的安装方法:
打开命令行并输入
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
安装完成后即可使用。全面的详细使用方法可自行百度或参考 此处
这是Lecture4源代码和相关资源的存放文件夹,在此处打开cmd(方法为在上方地址栏输入cmd,回车)
输入
pyi-makespec main.py
main.py代表你的游戏主循环运行的py文件。执行完成后会生成一个main.spec文件,用文本编辑器打开。(pycharm, vscode或者记事本都可以)
初始内容如上图。参数意义如下:
Analysis(scripts, pure, pathex, binaries, datas):
用于定义Python源文件,包括搜索路径和源文件名等。
一般情况下,这里我们需要修改的地方有:
第一个scripts源文件名。包含你所需要打包的python文件(这里有个小tip,如果需要打包的python文件在已经被打包的py文件所import了,就无需再进行填写了。例如这里components文件夹内有许多需要打包的python文件,但并不需要再单独填写了),初始自带你生成这个spec文件时的python文件名。格式和已经给的内容格式相同。
第二个pure python modules,指被scripts需要的pure python modules。一般不需填写。
第三个pathex是一个list, 指imports的包的路径。一般也不需要填写。
第四个binaries,指被scripts需要的非python modules二进制文件(比如DLL文件)。一般也不需要填写。
第五个datas,指需要打包的其他文件(也就是图片之类的数据文件),需要填写,例如Lecture4中需要打包的其他文件有文件夹components, data, fonts等,那么就按照以下格式填写:
datas=[('components','.\\components'),('data','.\\data'),('fonts','.\\fonts'),('images','.\\images'),('gameState','.\\gameState')]
其余选项一般不需填写。
未提到的详细信息可查看 官方文档 。
填写完毕后即可进行打包。在终端执行:
pyinstaller main.spec -w
执行就会自动开始打包。完成后会多出build和dist两个文件夹。其中build文件夹是临时文件,可以删除。dist文件夹就是打包完成的成品。在dist/main/文件夹里有一个可执行文件(main.exe或者自定义的其它名字(在spec文件中 EXE的选项中有name=’‘可以自行修改)。)
如果运行该exe文件没有问题。则pyinstaller打包结束,否则考虑填写格式错误或者缺失文件。
在pyinstaller打包结束后还需要使用Inno setup compiler打包为安装文件。
安装Inno setup compiler并打开。
Create a new script file using the Script Wizard
Create a new empty script file
Application folder name
, 也就是这些东西安装之后的文件夹名字。完成后就会开始编译。编译完成后就会在刚才选定的位置生成一个安装包。
这就是成品了。发给你的好朋友让别人玩玩你的游戏吧!
By JSYRD