川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

如何把 python 代码打包为 exe 程序

作者:川石学院 日期:2022-08-02 17:49:54 点击数:

一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“如何把 python 代码打包为 exe 程序”。

JavaScript 在 selenium 自动化中的应用(图1)

  python 写的项目可不可以打包成 exe 程序,放到没有 python 环境上的电脑中执行?

  答案:当然是可以的。python 有一个叫做 pyinstaller 的第三方库,是专门用来将 python 程序打包 exe 程序的。

  今天就专门给大家分享一下如何进行打包,使用之前需要大家先使用 pip 进行安装。

  环境安装

  •   安装命令:pip install pyinstaller

  如果安装失败,网络超时什么的记得换国内源

  案例演示

  1、项目源码

  这边给大家演示的项目是之前做教研的的时候,用 python 面向对象的知识和 pygame,写的一个坦克大战的游戏,整个项目的代码结构及运行效果如下:

如何把 python 代码打包为 exe 程序(图2)

  2、打包命令

  要将上面的 python 项目打包为 exe 程序,这个时候要找到项目的启动文件(项目的入口文件),通过 pyinstaller 加上启动文件的名字,就可以对项目进行打包,如下:

  cmd 中先切换到项目目录下

  上面的项目启动文件时 tank.py,输入打包命令:

  pyinstaller tank.py

  执行完之后,正在项目目录中会生成如下文件:

  

如何把 python 代码打包为 exe 程序(图3)


  build:存放打包过程中生产的临时文件

  dist: 打包之后的项目文件包括 exe 程序都在这里tank.spec : 打包的配置文件(可以都这个文件中对打包的程序进行相关的配置)

  3、程序的使用:

  打包之后生成了 dist 文件夹,里面有一个和打包文件同名的文件夹,在这个文件夹当中,可以找到打包之后的 exe 程序,双击就可以运行这个程序。

如何把 python 代码打包为 exe 程序(图4)

  常用参数

  上面打包的案例中,我们没有添加任何的参数,其实 pyinstaller 在打包的时候,是有很多参数选项的,下面给大家介绍一些常用的参数。

  -D :生成结果是一个目录,各种第三方依赖、资源和 exe 同时存储在该目录(这个参数是默认的)

  pyinstaller tank.py

  -D 参数时默认的,上面我们进行打包时,没有添加任何参数,打包之后默认生产了一个文件夹,各种第三方依赖资源和 exe 都在一个目录中-F :生成结果是一个 exe 文件,所有的第三方依赖、资源和代码均被打包进该 exe 内

  如果只想打包为一个 exe 程序的话,我们可以使用-F 这个参数,打包之后生产的就只有一个 exe 文件,所在的资源都在这个 exe 中

  pyinstaller -f tank.py

  执行上述命令就会生产一个【tank.exe】的程序-n :生成的.exe 文件和。spec 的文件名。

  如果我们想修改 exe 这个程序的名字,可以通过-n 这个参数来指定;

  pyinstaller tank.py -n 坦克大战 -f

  -i :为 exe 指定程序图标

  如果想为 exe 程序加一个图标,可以通过-i 这个参数来指定一个 ico 格式的图标文件作为图标。

  pyinstaller tank.py -i 图标文件.ico

  执行上述命令就会生产一个【tank.exe】的程序,程序的图标就是自己指定的 ico 图片


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2022-08-02 17:49:54
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2022-08-02 17:49:54
  • 国外的月亮也不一定比国内测试猿的年薪美~2022-08-02 17:49:54
  • 建筑工程专业朱同学成功转行为软件测试人!2022-08-02 17:49:54
  • 财务管理专业转行软件测试月薪甩会计几条街!2022-08-02 17:49:54
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2022-08-02 17:49:54
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2022-08-02 17:49:54
  • 文科生转行软件测试照样拿下高薪15K!2022-08-02 17:49:54
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2022-08-02 17:49:54
  • 毕业1年,迷茫的他最终选择转行软件测试2022-08-02 17:49:54