如何将python源文件打包成exe文件

PyInstaller是一个十分有用的第三方库,它能够在Windows、Linux、Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包,Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个独立文件方便传递和管理。


pip install pyinstaller

cmd窗口中切换到py程序所在的文件夹

pyinstaller -F test.py


执行后在 dist 目录中出现了 dpython.exe 文件,没有任何依赖库,执行它即可。使用 PyInstaller 库需要注意以下问题:文件路径中不能出现空格和英文句号(.);源文件必须是 UTF-8 编码,暂不支持其他编码类型。采用 IDLE编写的源文件都保存为 UTF-8 编码形式,可直接使用。PyInstaller 有一些常用参数,如下所示:


-h, --help 查看帮助
-v, --version 查看 PyInstaller 版本
--clean 清理打包过程中的临时文件
-D, --onedir 默认值,生成 dist 目录
-F, --onefile 在 dist 文件夹中只生成独立的打包文件第 
-p DIR, --paths DIR 添加 Python 文件使用的第三方库路径
-i <.ico or .exe,ID or .icns>,--icon <.ico or .exe,ID or .icns >指定打包程序使用的图标(icon)文件

PyInstaller 命令不需要在 Python 源文件中增加代码,只需要通过命令行进行打包即可。-F 参数最为常用,对于包含第三方库的源文件,可以使用-p 添加第三方库所在路径。如果第三方库由 pip 安装且在Python 环境目录中,则不需要使用-p 参数。

 

添加图标

pyinstaller -F xxx.py --icon=xxx.ico --noconsole

xxx.ico 为你要设置的图标文件,其他格式需要转换成ico格式(图标文件要放在程序根目录下)

添加 --noconsole参数,可以取消运行时的dos窗口  ,或者添加 -w 参数也可以(-w 和 --noconsole 效果是一样的)

但是如果ico图片尺寸过大,就会报错:struct.error: unpack requires a buffer of 16 bytes

解决方式是使用ico格式转换:

  https://converticon.com/

  https://www.bitbug.net/


参考博客:https://blog.csdn.net/u010812071/article/details/78507946

 

--------------------------------------- 华丽的分割线 --------------------------------------------

打包中遇到了各种各样的问题:

WARNING:lib not found: api-ms-win-crt-*-1-0.dll

 

https://blog.csdn.net/tokimemo/article/details/81330074

https://blog.csdn.net/innerone82/article/details/80592193

 

posted @ 2018-11-06 23:00  帅帅的飞猪  阅读(420)  评论(0编辑  收藏  举报