将Python程序打包为exe

Posted Microtiger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将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的参数使用介绍。

技术图片

pyinstaller的参数使用介绍

常用参数介绍:

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

单个py文件打包

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

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

技术图片

 

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

技术图片

 

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

技术图片

 

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

修改exe的图标

默认使用的图标如下

技术图片

 

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

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

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


pyInstaller 一般安装在python安装路径/Script下面
pyinstaller -F xxx.py  打包exe命令,但是会有黑窗口
pyinstaller -F  -w xxx.py去除黑窗口

以上是关于将Python程序打包为exe的主要内容,如果未能解决你的问题,请参考以下文章

python使用pyinstaller将程序打包为exe文件

复制粘贴,快速将Python程序打包成exe

使用pyinstaller将Python打包为exe文件

如何将python程序打包为exe

复制粘贴,快速将Python程序打包成exe

2020-05-23 pyinstaller 打包python项目为exe