使用pyinstaller将Python代码打包成可执行文件(exe)

一、安装 pyinstaller

直接pip在线安装

pip install pyinstaller

二、指令介绍

常用指令

-h,–help 查看该模块的帮助信息
-F,-onefile 产生单个的可执行文件
-D,–onedir 产生一个目录(包含多个文件)作为可执行程序
-w,–windowed 指定程序运行时不显示命令行窗口(仅对 Windows 有效)

建议采用生成目录、去除黑框.
生成目录,不易出错。
生成单个文件的话,如果第三方库体积较大,那么最终生成的exe会特别大。

pyinstaller -D -w 源程序.py

三、打包

3.1 保留黑框

1、建立 main.py 程序,为了让控制台窗口不一闪而过,加上等待 5s

from time import sleep


def print_hi(name):
    print(f'Hi, {name}')


if __name__ == '__main__':
    print_hi('PyCharm')
    sleep(5)

文件结构:

2、打包
pycharm 里边切换到终端,然后“+”号右侧下拉选择 “Command Prompt”,此时命令提示符前面会有 (venv),表示当前处于虚拟环境中。
终端默认打开是本地,记得修改成虚拟环境。

在虚拟环境中打包,只会打包项目依赖的第三方库,不会把所有pip已安装的库都打包进去,最终的exe体积小。

执行以下命令,进行打包:

pyinstaller -D main.py

生成的目录,多了spec文件和bulid、dist文件夹。dist里边,存放的就是最终的exe文件。

3、运行
直接双击运行 main.exe,就可以了

3.2 去掉黑框(推荐使用)

1、建立 ReadImg.py 程序
注:cv2模块,需要安装 opencv-python 才能使用。

import cv2 as cv

img = cv.imread('test.jpg', 0)
cv.imshow("ReadImg", img)
cv.waitKey(0)

2、打包
执行以下命令打包:

pyinstaller -D -w ReadImg.py

3、运行
需要把图片 test.png,拷贝到 ReadImg.exe 所在目录。

双击运行:

注:如果代码中用到了 input(),打包时就不能加上 -w,必须保留黑框(控制台窗口),不然会报下面的错误:

runtimeerror: input(): lost sys.stdin
物联沃分享整理
物联沃-IOTWORD物联网 » 使用pyinstaller将Python代码打包成可执行文件(exe)

发表评论