Python生成windows可执行的exe文件

Posted 云远·笨小孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python生成windows可执行的exe文件相关的知识,希望对你有一定的参考价值。

本方法弊端很大!不建议采用!

建议使用更加友好的方法:
参考:
https://segmentfault.com/a/1190000016087451
https://www.cnblogs.com/aoede-jacqueline/archive/2019/07/25/11244714.html

为什么要生成可执行文件

  • 不需要安装对应的编程环境
  • 可以将你的应用闭源
  • 用户可以方便、快捷的直接使用
    缺点:程序很大。

准备Python项目/源文件

hello.py:

import os
print(\'Hello Python!\')
os.system("pause");

import os
if __name__ == \'__main__\' :
    print(\'Hello Python!\')
    os.system("pause");

安装pyinstaller

在设置好conda软件源为清华开源站之后,Windows开始菜单以管理员模式运行Anaconda Prompt:

conda install pyinstaller

检查pyinstaller安装成功与否:

pyinstaller -v

pyinstaller命令参数说明

pyinstaller参数作用

  • -F 表示生成单个可执行文件
  • -D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
  • -w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧
  • -c –console, –nowindowed 使用控制台,无界面(默认)
  • -p 表示你自己自定义需要加载的类路径,一般情况下用不到
  • -i 表示可执行文件的ICO图标文件
  • 其他参数,可以通过pyinstaller --help查看

开始打包

在Anaconda Prompt命令行里进入要打包的脚本所在目录,执行:

pyinstaller -F -i favicon.ico nhdz.py

打包完成后,进入到当前目录下,会发现多了__pycache__builddistnhdz.spec这四个文件夹或者文件,其中打包好的exe应用在dist目录下面,可以把它拷贝到其他地方直接使用(无需Python环境)。

封装exe为安装包

  1. 这一步其实很简单,选中exe程序,右键添加到压缩文件....
  2. 勾选创建自解压格式压缩文件锁定压缩文件,压缩文件名为installer.exe,压缩文件格式保持默认为RAR格式.
  3. 选择高级选项卡,点击自解压文件选项.
  4. 在自解压文件选项中设置选项,比如快捷方式,图标,是否设置密码等等.

注意

  • 打包完成后就可以分享给其他人了.
  • 建议打包完成后,自己安装一次试试看看能不能正常运行.
  • 使用WinRAR打包的程序其实就是绿色程序, 没有注册表等信息.
  • 卸载的时候直接删除文件夹和对应的快捷方式就行.

===

上面的打包出来的EXE很大!使用下面的方法可以减小体积

===

#建立虚拟环境packEnv
conda create --name packEnv python=3.6
#进入虚拟环境(上一步可省略,因为没有虚拟环境的话会自动建立一个)
activate packEnv
#安装模块.主要是pysimplegui,pyqt,numpy(太高版本也不行)等等,你的py里用到的模块
conda install numpy=1.16.4
#打包的模块也要安装
conda install pyinstaller
#开始打包
pyinstaller -F -i hello.ico hello.py

以上是关于Python生成windows可执行的exe文件的主要内容,如果未能解决你的问题,请参考以下文章

Python生成exe文件

python生成exe文件unabletofindpythoncom37.dll

Windows Mac Python生成可执行文件

Windows下将Python源代码.py文件封装成exe可执行文件方法

如何将python程序封装成exe可执行文件

Java项目生成可执行jar包exe文件以及在Windows下的安装文件