python文件打包为exe(带静态资源)
这里只介绍一种简单的打包python程序的方法,而比较复杂的修改spec这里就不过介绍了。
程序打包后,静态资源以后还需要修改,比如说静态资源中的用户信息等。
- 用的打包工具为 pyinstaller ,这里先列几个常用参数的含义:
参数 | 含义 |
---|---|
–clean | 在打包前清除PyInstaller缓存和临时文件 |
-F, --onefile | 创建一个可执行的文件包 |
-D, --onedir | 创建一个包含可执行文件的文件夹包(默认) |
-n, --name | 更改打包生成的文件的文件名 |
-c, --console, --nowindowed | 打开用于标准I / O的控制台窗口(默认)。 在Windows上,如果第一个脚本是“ .pyw”文件,则此选项无效。 |
-w, – windowed, --noconsole | Windows和Mac OS X:不提供标准I / O的控制台窗口。 在Mac OS X上,这也会触发构建OS X .app捆绑软件。 在Windows上,如果第一个脚本是“ .pyw”文件,则将设置此选项。 在* NIX系统中,此选项被忽略。 |
–add-data | 打包除了py格式之外的文件。格式: --add-data=“源地址;目标地址”。 windows以;分割,linux以:分割 |
- 需求:打包一个python文件,打包后的程序需要使用一张图片和一个配置文件,打包后的结果如下图所示
- 打包代码
pyinstaller -F -w -i icon.png --name '点击启动程序' index.py
代码中:-i icon.png 代表程序的图标 ;index.py代表入口主程序 ;
打包前,程序运行时,我的config和image这两个资源文件和index.py在同一路径下,py代码调用也是使用文件相对位置调用。
打包后在当前路径下生成的dist文件夹中就有打包后的主程序:点击启动程序.exe
再把config和image都移动和exe文件同意目录下,就能运行程序了。