大家好,欢迎来到 Crossin的编程教室 !
各位读者对学校里上课时老师点名一定再熟悉不过了。有些名字比较有“吸引力”的同学表示压力很大,总是被老师点到回答问题,从来都不敢翘课或开小差。
今天这篇咱们就来分享一个随机点名的系统,并把它打包成exe。把它送给任课老师,再也不怕被“重点关照”啦!
一、实现随机点名
代码的功能不复杂,核心原理就是通过 randint 生成一个随机序号,然后从学生名单的excel中去取对应的学生姓名和性别。其余大部分的代码是用自带的 tkinter 模块来写一个交互的界面。
运行效果如下:
二、pyinstaller打包成exe
代码是完成了。但为了让老师用得方便,我们把它“打包”成一个可执行文件,这样就不需要在运行的电脑上安装 Python 环境了。
PyInstaller是一个跨平台的Python应用打包工具,支持Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序。
pyinstaller安装
pyinstaller打包python程序
PyInstaller 最简单使用只需要指定作为程序入口的脚本文件。PyInstaller 执行打包程序后会在当前目录下创建下列文件和目录:main.spec 文件,其前缀和脚本名相同,指定了打包时所需的各种参数;build 子目录,其中存放打包过程中生成的临时文件。warnxxxx.txt文件记录了生成过程中的警告/错误信息。如果 PyInstaller 运行有问题,需要检查warnxxxx.txt文件来获取错误的详细内容。xref-xxxx.html文件输出PyInstaller 分析脚本得到的模块依赖关系图。dist子目录,存放生成的最终文件。如果使用单文件模式将只有单个执行文件;如果使用目录模式的话,会有一个和脚本同名的子目录,其内才是真正的可执行文件以及附属文件。
命令行输入以下代码:
-F | --onefile:生成单一的可执行文件
-i | --icon:为执行文件指定图标
默认生成在C盘,找到dist文件夹里的带图标的exe程序,双击运行,正常运行进入程序可以玩说明打包程序成功。
运行效果如下:
三、解决使用pyinstaller打包程序时出现RecursionError报错
打包的时候可能会出现如下错误:
RecursionError: maximum recursion depth exceeded
执行 pyinstaller,虽然报错,但会生成 your_filename.spec文件
在C盘找到 your_filename.spec 文件,打开进行编辑,添加以下语句
再次执行 pyinstaller 和 your_filename.spec文件
成功将python程序打包成exe,解决了问题。
结语
领取专属 10元无门槛券
私享最新 技术干货