快速将Python程序变成可执行的exe文件-exe文件

快速将Python程序变成可执行的exe文件

当Python项目编码完成之后,有时候我们需要让其在没有Python环境的电脑上运行,此时我们就需要将Python项目进行打包了。

本篇文章主要是基于Python的第三方库pyinstaller进行的。使用pyinstaller打包Python项目,相对于C和C#项目的打包要简单很多。

项目地址

pyinstaller git

pyinstaller安装

pip install pyinstaller

环境要求

python版本:2.7或3.4-3.7,当需要使用字节码加密时需要PyCrypto 2.4+

系统要求:Windows、Linux、macOS都支持,具体使用说明请看官网介绍。本次实践主要在win10上进行。

参数介绍

官网参数详细介绍,在使用pyinstaller打包Python项目的时候,需要指定一些参数,详细介绍请参加官网。也可以通过pyinstaller -h命令查看pyinstaller的参数使用介绍。

快速将Python程序变成可执行的exe文件

pyinstaller的参数使用介绍

常用参数介绍:

  • -D,–onedir:创建一个文件夹包含exe文件(默认)
  • -F,–onefile:打包之后只会生成一个exe的文件
  • -c,–console,–nowindowed:使用控制台窗口(默认)
  • -w,–windowed,–noconsole:使用窗口显示
  • -i:设置打包exe的图标,默认使用的是Python的图标

单个py文件打包

import cv2
img = cv2.imread("logo.webp")
cv2.imshow("logo",img)
cv2.waitKey()

这个程序展示了使用OpenCV来读取图片然后显示,编辑完成之后进入到该目录下,运行pyinstaller -F exmple.py,看到如下信息表示打包成功:

快速将Python程序变成可执行的exe文件

在项目目录下发现多了dist和build两个目录和一个*.spec的文件。

快速将Python程序变成可执行的exe文件

打开dist目录,可以发现下面多了一个example.exe的可执行文件,双击运行发现并没有显示图片,此时我们需要将logo.webp拷贝到当前目录下,然后再运行exe程序就可以看到如下结果

快速将Python程序变成可执行的exe文件

如果不想显示控制台打包的时候可以加上-w参数,pyinstaller -F -w example.py,此时打包生成的exe程序执行时不会出现控制台窗口。

修改exe的图标

默认使用的图标如下

快速将Python程序变成可执行的exe文件

ico下载网址:https://www.easyicon.net/

pyinstaller -F -w -i=panda.ico example.py

通过-i参数可以指定ico的图标,如果生成的exe的图标没有变化试着将ico图标文件拷贝到exe的相同目录下。


最近开通了微信公众号,在微信公众号上,分享了一些资料,搜索"Python机器学习之路"关注我即可获取,欢迎来找我玩。

快速将Python程序变成可执行的exe文件

推荐阅读