详解如何将python3.6软件的py文件打包成exe程序

作者:云水禅心_心一 时间:2022-09-26 00:10:21 

在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序。在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行打包的方法。关于cx_Freeze打包的方法,可以参考windows下cx_Freeze生成Python可执行程序中的方法。由于方法主要是可以用于Python3.3版本的,高于该版本的Python无法使用。在我尝试的过程中,碰到的一个问题是:

安装cx_Freeze-4.3.3,找不到cxFreeze.bat

解决的方法是,在cmd命令行操作下,切换至放置cx_Freeze-4.3.3文件的Python安装目录下scripts目录下,使用以下代码自动生成:


python cxfreeze-postinstall

由于我安装的Python版本是3.6.2版本的,版本相对较新,cx_Freeze还没有更新版本至3.6版本。在我尝试很多次数失败后,决定采用pyinstaller来进行文件打包的方法。

下载pyinstaller

采用命令行操作的办法

在cmd命令行中,输入代码:


pip install pyinstaller

或者采用更新、升级的方法:


pip install --upgrade pyinstaller

采用下载文件+cmd操作的办法

首先,前往PyInstaller网站下载:http://www.pyinstaller.org/downloads.html

详解如何将python3.6软件的py文件打包成exe程序
     

下载时,要注意你安装的Python是多少版本的,有稳定版和不稳定版的,Python3.6只有不稳定版本的。其中绿色方框的是适用于linux操作系统下的,红色方框是适用于Windows系统下的。

进行解压缩、放置和安装

下载后,将压缩文件解压缩在Python安装目录下,进入该文件:

详解如何将python3.6软件的py文件打包成exe程序

该目录中含有setup.py,同时在cmd中进入该目录:

详解如何将python3.6软件的py文件打包成exe程序

输入命令:


python setup.py install

并按下回车键,会看到代码迅速执行,会进行安装pyinstaller,显示如下状态,看到“Finished processing dependencies for PyInstaller==3.3.dev0+41c426f6d”,即安装成功:

详解如何将python3.6软件的py文件打包成exe程序

使用pyinstaller打包py文件成exe程序

打包文件成exe程序

将cmd的目录切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下:

详解如何将python3.6软件的py文件打包成exe程序

并输入代码,格式为使用命令:pyinstaller -F 文件名(带后缀py):


pyinstaller -F test.py

常用参数说明:

–icon=图标路径
-F 打包成一个exe文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件

pyinstaller -h 来查看参数

回车后,代码迅速操作,直到操作结束。

详解如何将python3.6软件的py文件打包成exe程序

返回目标文件目录,发现该目录下生成了.spec文件test.spec:

详解如何将python3.6软件的py文件打包成exe程序
打包好的exe文件,在同目录的dist文件中:

详解如何将python3.6软件的py文件打包成exe程序

由此,py文件打包好为exe文件。pyinstaller 改变生成exe程序的图标


pyinstaller -F --icon=my.ico test.py

my.ico 是一个图标名,和当前的test.py文件在同一个目录下

来源:https://blog.csdn.net/lqzdreamer/article/details/77917493

标签:python3.6,打包,exe
0
投稿

猜你喜欢

  • Python 异步之生成器示例详解

    2023-01-12 04:34:26
  • Mysql中limit的用法方法详解与注意事项

    2023-11-16 09:20:05
  • python的移位操作实现详解

    2021-05-05 22:51:30
  • flask使用session保存登录状态及拦截未登录请求代码

    2021-02-22 12:00:57
  • 用"表情符号"做植入广告 是否可行呢?

    2009-02-23 13:07:00
  • JS异步函数队列功能实例分析

    2024-04-22 13:26:28
  • 基于tkinter中ttk控件的width-height设置方式

    2023-07-04 21:32:20
  • django session完成状态保持的方法

    2021-12-07 16:12:02
  • 在Python中测试访问同一数据的竞争条件的方法

    2023-03-29 15:04:06
  • python代码检查工具pylint 让你的python更规范

    2021-07-03 12:06:38
  • 深入解析el-col-group强大且灵活的Element表格列组件

    2024-04-27 15:46:49
  • python判断一个对象是否可迭代的例子

    2021-01-04 18:19:23
  • python中asyncio异步编程学习

    2022-10-20 06:19:37
  • Python定义函数时参数有默认值问题解决

    2023-02-10 21:58:49
  • 比较规范的验证Email地址是否正确的正则表达式

    2009-07-28 17:55:00
  • MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修改,删除表等)

    2024-01-19 07:54:03
  • mysql8.0.21下载安装详细教程

    2024-01-26 15:40:00
  • Django数据库迁移常见使用方法

    2024-01-17 09:57:26
  • ajax的responseText乱码的问题的解决方法

    2024-06-05 09:21:28
  • 优化SQL Server的内存占用之执行缓存

    2024-01-12 19:13:27
  • asp之家 网络编程 m.aspxhome.com