2023-4-30 13:56:18 [显示全部楼层]
2273浏览
查看: 2273|回复: 2

使用pyinstaller给你的python程序打包成exe应用程序

[复制链接]
本帖最后由 SBI y 于 2023-4-30 14:02 编辑

      以前愚人节,想给同学发个恶搞的程序,但无奈他们的电脑上没有python,运行不了;对你们来说,恶搞朋友就怕代码会被查——出大问题!!!
      现在解决办法来了:给程序打包成exe可执行应用程序。这篇帖子可以教你怎么来打包。
      {:5_133:}
Step_1:下载模块pyinstaller

      先使用pip指令下载pyinstaller模块,mind+亲测可用,不过我已经下载过了,现在是这样:
      使用pyinstaller给你的python程序打包成exe应用程序图1
      接下来,我们要找到下载好的pyinstaller模块,它会下载到你用的python的script文件夹下。
      那么mind+的python在哪儿呢?
      只需要根据python的搜索路径顺藤摸瓜就行了:
      使用pyinstaller给你的python程序打包成exe应用程序图2
      找到script文件夹:
      使用pyinstaller给你的python程序打包成exe应用程序图3
      可以看到已经下载好了:
      使用pyinstaller给你的python程序打包成exe应用程序图4

Step_2:使用准备
      按下win+R,打开cmd:
      使用pyinstaller给你的python程序打包成exe应用程序图5
      使用pyinstaller给你的python程序打包成exe应用程序图6
      输入pyinstaller --version查看模块的版本,输入pyinstaller -h查看模块的所有的命令和帮助:
      使用pyinstaller给你的python程序打包成exe应用程序图7
      注:如果在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到一个目录:
       使用pyinstaller给你的python程序打包成exe应用程序图8
       里面有个mian.py(里面的代码和素材a一样,素才a文末自取):
       使用pyinstaller给你的python程序打包成exe应用程序图9
       使用pyinstaller给你的python程序打包成exe应用程序图10
       输入指令pyinstaller -F main.py -c -n 一个恶搞小程序

       -F main.py ——把脚本main.py打包成一个文件;
       -c             ——使程序只有控制台;
       -n 一个恶搞小程序
                       ——命名文件为“一个恶搞小程序”。
       使用pyinstaller给你的python程序打包成exe应用程序图11
       然后回车,静待打包:
       使用pyinstaller给你的python程序打包成exe应用程序图12
       不知道长长的输出了一段什么,反正最后一个单词是successfully那么你就成功完成了打包。
       回到文件夹:
       使用pyinstaller给你的python程序打包成exe应用程序图13
       你会发现多了“一个恶搞小程序.spec”文件,“dist”和“build”文件夹。
       dist中的exe应用程序就是打包好的py文件,名字也改好了,在任意电脑上可以直接运行:
       使用pyinstaller给你的python程序打包成exe应用程序图14
       其他玩意儿现在没什么用,删了也没关系。
       接下来双击运行看看效果吧。

Example_2:打包程序b(有图形窗口,命名,添加图标:使用指令-F,-n,-w,-i)
       先cd到一个目录,有咱们需要的文件:
      使用pyinstaller给你的python程序打包成exe应用程序图22
       使用pyinstaller给你的python程序打包成exe应用程序图23
       要用的文件(文末自取):
          |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 五子棋     ——命名文件为“五子棋”。
       使用pyinstaller给你的python程序打包成exe应用程序图24

       仍然回车,静待打包:
       使用pyinstaller给你的python程序打包成exe应用程序图25
       ……
       使用pyinstaller给你的python程序打包成exe应用程序图26
       还是不知道输出了,不过有个successfully——成功了,真聪明。
       回到文件夹:
       使用pyinstaller给你的python程序打包成exe应用程序图27
       多了“五子棋.spec”文件,“dist”和“build”文件夹,不过除了dist中打包好的应用程序意外,都删了也没问题。
       只要这个:
       使用pyinstaller给你的python程序打包成exe应用程序图28
       名字、图标都改好了,现在可以直接运行了。
       {:5_122:}






  


















…… 啊不不不,有一个问题!
      不过问题是什么,我才不告诉你,除非你在评论区问我;或者你得通读源代码和此贴。
      {:5_151:}






  


















附件:    
素材(step_3=>示例=>a few 素材):
       a.代码下载附件控制鼠标.zip
       b.代码下载附件五子棋.zip
       c.两张图片

使用pyinstaller给你的python程序打包成exe应用程序图17使用pyinstaller给你的python程序打包成exe应用程序图18

成品:
如果你懒得亲自动手那么这里有现成的作品,虽然我不建议你直接拿走。
Step_3=>示例=>Example_1:
       1.打包好的恶搞程序(exe):下载附件一个恶搞小程序.zip

Step_2=>示例=>Example_2:
       1.两张做好的可以用作图标的ico格式图片
       ↑都在这:下载附件五子棋ico.zip下载附件五子棋2ico.zip
         *.打包好的五子棋游戏(exe)由于太大了没办法上传,自己努力吧!


PS:
       1.代码中调用的文件要使应用程序找得到(如python搜索路径、相对路径、绝对路径、程序所在文件夹下的文件),不然会出错 。
        2.执行效率貌似会提高{:5_171:}
        3.文件比较大……
        4.五子棋怎么玩可以看源代码,或者评论区问我。
        5.很奇怪为什么添加的表情没显示出来。





SBI y  高级技师
 楼主|

发表于 2023-4-30 13:56:51

沙发上静待鱼儿上钩
回复

使用道具 举报

qrm  初级技匠

发表于 2023-5-7 16:47:30

pyinstaller好评!我经常用它打包一些小程序发给老师用,解决了挺多问题(但容易被win10自带的防病毒程序误删)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail