python3.6 使用pyinstaller 打包web程序的方法

时间:2024-10-13 20:05:50

官方文档连接 (https://pyinstaller.readthedocs.io/en/stable/

第一步,下载pywin32

首先下载pywin32,下面是下载链接,下载自己的系统版本对应的pywin32

https://github.com/mhammond/pywin32/releases

第二步,安装pyinstaller

pip install pyinstaller

第三步,打包程序

命令参数

参数 描述
-F 表示生成单个可执行文件
-w 表示去掉控制台窗口,这在GUI界面时非常有用。如果不适用这个参数,则在运行打包后的exe时,会有一个命令行窗口,显示控制台输出
-p 表示你自己自定义需要加载的类路径,一般情况下用不到
-i 表示可执行文件的图标

进入虚拟环境后,使用命令

命令

pyinstaller -F myfile.py

其他命令示例

    pyinstaller  -F  -w -i ..\7.ico  run.py  a.py

上面命令的意思是

将当前目录下的run.py 和a.py 打包成一个(-F)exe文件,运行时不显示控制台窗口(-w),指定exe文件的图标(-i)为当前目录的父级目录(..\7.ico)下的7.ico对应的图标

注意事项

  • 图标好像必须要是.ico格式,我使用.icns格式的图标会报错,目前不知道原因
  • web服务如果需要html、css等静态文件,可以按照项目结构,将对应的templates和static目录复制到打包后的exe文件所在目录下,就可以正常执行(具体得看你使用的web框架配置的静态文件路径与运行文件相对位置是怎样的)
  • 一般情况下,我们每个项目都有自己的虚拟环境,打包exe文件时会把虚拟环境下的其他库一起打包进exe文件中,所以不用担心如何将其他库引入打包,当然你也可以选择把源码全部复制到项目目录下,在使用命令打包时,把它们都指定上(如果不嫌累的话)