python 生成exe脱离python环境运行

1. 简介

python 程序编写完之后需要进行打包成exe发布,不暴露源码,目前主要打包的工具有三种:

1) PyInstaller(推荐)

2) cx_Freeze

3) py2exe

PyInstaller参考文档

py2exe参考文档

这里,我主要介绍PyInstaller的安装使用。

2. PyInstaller

1) 离线安装:

PyInstaller下载,只需解压到位置即可(建议和python放在相同的目录下)。

pywin32下载,双击pywin32-221.win-amd64-py3.5.exe安装,注意安装的时候会自动检测之前安装的Python,下一步安装。

在CMD命令行进入Python安装目录下的Scripts目录并执行命令:python pywin32_postinstall.py -install

在CMD命令行中进入yInstaller解压目录下,然后执行:python setup.py install

2) 在线安装:

管理员身份打开cmd窗口,执行命令: pip install pyinstaller

安装完成。

3. 打包样例

编译条件指令介绍

-F, --onefile Py代码只有一个文件
 
-D, --onedir Py代码放在一个目录中(默认是这个)
 
-K, --tk 包含TCL/TK
 
-d, --debug 生成debug模式的exe文件
 
-w, --windowed, --noconsole 窗体exe文件(Windows Only)
 
-c, --nowindowed, --console 控制台exe文件(Windows Only)
 
-X, --upx 使用upx压缩exe文件
 
-o DIR, --out=DIR 设置spec文件输出的目录,默认在PyInstaller同目录
 
--icon=FILE.ICO  加入图标(Windows Only)
 
-v FILE, --version=FILE 加入版本信息文件

1) 这里,我需要打包的py文件:

install.py(主程序入口文件)、env.py、installPKG.py、installDNPS.py、start.py

多个.py文件和多个打包命令格式如下: 

pyinstaller [主文件] -p [其他文件1] -p [其他文件2] --hidden-import [自建模块1] --hidden-import [自建模块2]

-w 去除调试黑框

 -i xxx.ico 添加ico图标,在当前文件夹下就不用加目录

2) 根据上面的文件结构打包命令如下:

pyinstaller -F install.py -p env.py -p installPKG.py -p installDNPS.py -p start.py 

为了方便,这里把打包命令编写为bat脚本:

@echo off
echo 当前批处理文件运行路径:%~dp0
start cmd /k  pyinstaller -F install.py -p env.py -p installPKG.py -p installDNPS.py -p start.py --hidden-import clip --hidden-import data

 3) 执行打包脚本package.bat,在dist目录下生成exe

4) 脱离python环境运行install.exe

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章