使用pyinstaller给你的python程序打包成exe应用程序
本帖最后由 SBI y 于 2023-4-30 14:02 编辑以前愚人节,想给同学发个恶搞的程序,但无奈他们的电脑上没有python,运行不了;对你们来说,恶搞朋友就怕代码会被查——出大问题!!!
现在解决办法来了:给程序打包成exe可执行应用程序。这篇帖子可以教你怎么来打包。
{:5_133:}
Step_1:下载模块pyinstaller
先使用pip指令下载pyinstaller模块,mind+亲测可用,不过我已经下载过了,现在是这样:
接下来,我们要找到下载好的pyinstaller模块,它会下载到你用的python的script文件夹下。
那么mind+的python在哪儿呢?
只需要根据python的搜索路径顺藤摸瓜就行了:
找到script文件夹:
可以看到已经下载好了:
Step_2:使用准备
按下win+R,打开cmd:
输入pyinstaller --version查看模块的版本,输入pyinstaller -h查看模块的所有的命令和帮助:
注:如果在cmd里使用不了python、pip、pyinstaller之类的指令,请参考这篇文章的后半部分来设置环境变量。 (如果还是不行,可以用模块所在位置+pyinstaller.exe(如我的就是C:\Users\Administrator\Documents\mindplus-py\environment\Python3.8.5-64\Scripts\pyinstaller.exe)来替换指令中的pyinstaller,step1中的“顺藤摸瓜”有用了。)
)
Step_3:使用
基础/常用指令(一行中用逗号隔开的指令作用相同):
-h,--help ——查看模块帮助
-v,--version ——查看模块版本
-D,--onedir ——打包py程序成exe应用程序,有很多的依赖(我不喜欢用,不做示例,可以自己尝试)
-F,--onefile ——打包py程序成exe应用程序(只有一个文件)
-n,--name ——命名
-i,--icon ——修改图标(一般是64x64,ico格式)
-c,--console,--nowindowed ——(使程序)有控制台(没有图形窗口)
-w, --windowed, --noconsole ——(使程序)有图形窗口(没有控制台)
-D和-F效果相反,不能同时使用;-c和-w效果相反,不能同时使用。
示例:
a few 素材:
给你们准备了一些素材:
|a. 一个可以控制鼠标的恶搞程序
|b. pygame五子棋小游戏
|c. 两张图片(做图标用)
请在文末自行领取。
Example_1:打包程序a(没有图形窗口,命名:使用指令-F,-n,-c)
先cd到一个目录:
里面有个mian.py(里面的代码和素材a一样,素才a文末自取):
输入指令pyinstaller -F main.py -c -n 一个恶搞小程序:
-F main.py ——把脚本main.py打包成一个文件;
-c ——使程序只有控制台;
-n 一个恶搞小程序
——命名文件为“一个恶搞小程序”。
然后回车,静待打包:
不知道长长的输出了一段什么,反正最后一个单词是successfully那么你就成功完成了打包。
回到文件夹:
你会发现多了“一个恶搞小程序.spec”文件,“dist”和“build”文件夹。
dist中的exe应用程序就是打包好的py文件,名字也改好了,在任意电脑上可以直接运行:
其他玩意儿现在没什么用,删了也没关系。
接下来双击运行看看效果吧。
Example_2:打包程序b(有图形窗口,命名,添加图标:使用指令-F,-n,-w,-i)
先cd到一个目录,有咱们需要的文件:
要用的文件(文末自取):
|a. pygame五子棋小游戏(五子棋.py)
|b. 两张图标图片(五子棋ico.ico和五子棋2ico.ico,自己选择用哪个)
|c. 一张名为“五子棋”的png格式图片(用作窗口图标)
注:应用程序图标仅支持ico格式图片,可以使用比特虫在线ico图标转换工具转换图片格式。
接下来输入指令pyinstaller -F 五子棋.py -w -i 五子棋2ico.ico -n 五子棋:
-F 五子棋.py ——把脚本五子棋.py(文件a)打包成一个文件;
-w ——使程序只有控制台;
-i 五子棋2ico.ico
——添加图标五子棋2ico.ico(文件b的第二个)
-n 五子棋 ——命名文件为“五子棋”。
仍然回车,静待打包:
……
还是不知道输出了,不过有个successfully——成功了,真聪明。
回到文件夹:
多了“五子棋.spec”文件,“dist”和“build”文件夹,不过除了dist中打包好的应用程序意外,都删了也没问题。
只要这个:
名字、图标都改好了,现在可以直接运行了。
{:5_122:}
…… 啊不不不,有一个问题!
不过问题是什么,我才不告诉你,除非你在评论区问我;或者你得通读源代码和此贴。
{:5_151:}
附件:
素材(step_3=>示例=>a few 素材):
a.代码
b.代码
c.两张图片
成品:
如果你懒得亲自动手那么这里有现成的作品,虽然我不建议你直接拿走。
Step_3=>示例=>Example_1:
1.打包好的恶搞程序(exe):
Step_2=>示例=>Example_2:
1.两张做好的可以用作图标的ico格式图片
↑都在这:
*.打包好的五子棋游戏(exe)由于太大了没办法上传,自己努力吧!
PS:
1.代码中调用的文件要使应用程序找得到(如python搜索路径、相对路径、绝对路径、程序所在文件夹下的文件),不然会出错 。
2.执行效率貌似会提高{:5_171:}
3.文件比较大……
4.五子棋怎么玩可以看源代码,或者评论区问我。
5.很奇怪为什么添加的表情没显示出来。
沙发上静待鱼儿上钩 pyinstaller好评!我经常用它打包一些小程序发给老师用,解决了挺多问题(但容易被win10自带的防病毒程序误删)
页:
[1]