专栏首页老Z的博客Python脚本转exe文件

Python脚本转exe文件

上一篇博文介绍了一个自动更新.docx文件的Python脚本。当时通宵(通宵看葡萄牙VS西班牙顺带码的)码好的时候想着怎么分享给整个部门使用,考虑到公司电脑并没有Python环境(没有安装权限),于是我就找有没有办法可以让我的这个Python脚本在一台没有安装Python的电脑上执行。经过Google发现有py2exe和Pyinstaller可以将Python脚本编译成Windows(Pyinstaller支持多平台)可执行文件。经过比较发现Pyinstaller安装使用更简单(见下图),所以我选择了Pyinstaller,现记录一下转换过程。

首先是安装,在控制台输入命令pip install pyinstaller回车,成功安装如下图所示:

接下来是使用,在脚本所在目录下输入命令pyinstaller Checklist.py回车,转换成功如下图所示:

打开脚本所在目录,可以看到多了三个文件夹和一个文件,截图如下:

根据官网的说明,exe文件会保存在dist文件夹中(见下图),所以我们只需要带着这一个文件夹,就可以在没有Python环境的机器上执行Python脚本了。

大家可能会觉得整个文件夹看起来不够简洁,我们可不可以只带着一个exe文件呢?当然是可以的,只需要在转换的时候加上选项-F就可以实现只生成一个exe文件,截图如下:

我们可以看到上面两种方法所生成的exe文件大小有很大差别(第一个是1.52MB,第二个6.99MB),但是经过测试,发现两种方法exe文件启动时间并没有明显的差别,可能是因为我的这个脚本简单。但是对于一个复杂的Python脚本,加选项-F转换后的exe文件肯定会比不加选项生成的exe文件大很多,启动也会慢很多,故建议在转换一个复杂的Python脚本时不要加选项-F以提高exe启动速度。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用DM语句设置SAS环境

    SAS程序猿/媛在跑程序之前通常要进行一些设置,比如清除日志和输入窗口等;在程序跑完之后,又需要检查数据集的结果,比如查看某一特定的行或者特定的变量的值是否正确...

    专业余码农
  • 用Python操控Word

    4月底,我带着自己水的一篇文章,从深圳奔赴美帝西雅图参加了一个制药行业软件用户组2018年年会(PharmaSUG 2018)。听了一些报告,收获不少。在众多报...

    专业余码农
  • 正则表达式模式修饰词

    即匹配和替换,缩写为m//和s///(或s###),对应到SAS中的函数就是PRXMATCH和PRXCHANGE,即m/PATTERN/和s/PATTERN/R...

    专业余码农
  • Python+matplotlib绘图使用Latex引擎渲染坐标轴刻度文本上标

    封面图片:《Python程序设计基础与应用》(ISBN:9787111606178),董付国,机械工业出版社

    Python小屋屋主
  • ListBox控件——c#

    C# ListBox 自动滚动到底部 方法: 在ListBox中添加一条记录(ListBox.Items.Add方法)后,滚动条会自动回到顶部。我们可能更希望它...

    vv彭
  • 不懂高性能的负载均衡设计?没关系,架构师带你飞

    早期的互联网应用,由于用户流量比较小,业务逻辑也比较简单,往往一个单服务器就能满足负载需求。随着现在互联网的流量越来越大,稍微好一点的系统,访问量就非常大了,并...

    三哥
  • 不懂高性能的负载均衡设计?没关系,架构师带你飞

    在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量项目中,...

    黄泽杰
  • 不懂高性能的负载均衡设计?没关系,架构师带你飞

    在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量项目中,...

    奎哥
  • 不懂高性能的负载均衡设计?没关系,架构师带你飞

    在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量项目中,...

    纯洁的微笑
  • 不懂高性能的负载均衡设计?没关系,架构师带你飞

    在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量项目中,...

    Java知音

扫码关注云+社区

领取腾讯云代金券