Python打包成exe文件

  • 前言
  • 一、安装pyinstaller
    • 1.1 安装pyinstaller,使用安装命令:
    • 1.2 如果遇到需要更新版本请输入:
    • 1.3 检查是否正确安装
    • 1.4 稍等,水一下;
  • 二、python打包成exe文件(附带图标打包)
    • 2.1 第一种:cd到指定文件夹打包存放
    • 2.2 第二种方法:cd到py源文件夹内打包存放
    • 2.3最终效果
  • 参考:命令解释
  • 补充:pyinstaller部分安装问题解决
    • 3.1、问题截图
    • 3.2、解决方法

前言

  1. 我原本是学C\C++,这是本人第一篇关于python的文章。请多多关照!
  2. 对于python为什么要打包成exe文件,是因为传输源文件以及源代码给他人是需要配置好一定的环境才能进行编译操作,而打包成exe文件就可以跟电脑软件一样打开就可以运行也可以分享给他人。但是打包好的exe文件并不是很方便去拆包,所以在打包前一定要测试之后在打包发布。
  3. 版本控制方面尽量选择python3.6+32位版本,因为win64位系统向下兼容32位程序,如果不考虑32位系统的话无所谓,直接python64位版本直接打包就可以,但是只能在win64位系统运行。
  4. 好了下面我将从安装pyinstaller开始介绍,然后是打包教程,最后是命令解释。
  5. PS:本次教程,我们不用cmd命令的小黑窗;
    本次教程使用:Windows PowerShell(X86)
    记得使用:管理员运行
    图片最好使用ico后缀的图片,要么下载个格式转换。自己转换使用

一、安装pyinstaller

1.1 安装pyinstaller,使用安装命令:

pip install pyinstaller

1.2 如果遇到需要更新版本请输入:

pip install --upgrade pyinstaller

1.3 检查是否正确安装


emmmm好像安装完成了,

1.4 稍等,水一下;

python打包工具众多,推荐使用pyinstaller,本工具支持window和linux下使用。在windows下,大小为几十kb的源文件,打包成exe文件可能为几十兆,原因是把程序所引用的库文件也一起打包在一起了。

二、python打包成exe文件(附带图标打包)

本次打包有两种方法,根据自己勤快程度选择吧!

2.1 第一种:cd到指定文件夹打包存放

第一步:移动到指定存放exe文件的文件夹

cd 文件夹路径例子:cd C:\FILE2\python_file

第二步:打包就完事了(看代码)

pyinstaller -F -w -i 路径一(图标) 路径二(py文件)例子:pyinstaller -F -w -i  D:\python_file\BindundunDemo\qt-logo.ico  D:\python_file\BindundunDemo\main.py

2.2 第二种方法:cd到py源文件夹内打包存放

第一步:移动到源文件文件内

cd 文件夹路径例子:cd C:\FILE2\python

第二步:还是打包就完事了(看代码)

pyinstaller -F -w -i 图标名.后缀 源文件.py例子:pyinstaller -F -w -i qt-logo.ico one.py

2.3最终效果

dist文件里存放的是你生成的exe文件,点击即可使用。



至此,本次教程结束!
下面还有命令解释,请细细品尝。

参考:命令解释

命令命令全称命令解释
-F–onefile打包成单个可执行文件,如果你的代码都写在一个.py文件,则可以使用,如果是多个.py文件,建议不要使用。
-D–onedir打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,该方式代码较易于维护。默认编译就是-D的
-K–tk在部署时包含 TCL/TK。
-a–ascii不包含编码.在支持Unicode的python版本上默认包含所有的编码。
-d–debug产生debug版本的可执行文件
-w–windowed,–noconsole使用Windows子系统执行.当程序启动的时候不会打开命令行(仅对Windows有效)
-c–nowindowed,–console使用控制台子系统执行(默认)(只对Windows有效)
-s–strip可执行文件和共享库将run through strip。注意Cygwin的strip可能使普通的win32 Dll无法使用
-X–upx如果有UPX安装(执行Configure.py时检测),则会压缩执行文件(Windows系统中的DLL也会)。
-o DIR–out=DIR指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下。
-p DIR–path=DIR设置导入路径(和使用PYTHONPATH效果相似)。可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源
-i–icon=将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标 pyinstaller -i ico路径 xxxxx.py
–i–icon=将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)
-v FILE–version=FILE将verfile作为可执行文件的版本资源(只对Windows系统有效)
-n NAME–name=NAME可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字

补充:pyinstaller部分安装问题解决

3.1、问题截图

3.2、解决方法

解决方法不难如图操作即可:(PS:本次操作用的是win11,与win10操作方法大致不差)

哦对!还有个问题,我的是默认安装位置,我不知道大家是不是。方法应该大致差不多(PS:没试过,有人试过后评论区告诉我下)
操作步骤:找到高级系统设置>环境变量>path(PS:双击它)>新增>之后就如图操作吧!