pyinstaller打包python程序

python程序打包

使用pyinstaller模块

安装pyinstaller:

pip install pyinstaller

安装完成后,把路径切换到文件所在路径,输入:

pyinstaller -F filename.py

如果你想为你生成的程序加上一个自定义图标,可以使用

pyinstaller -F filename.py -i iconname.ico

打包时要将.py文件和.ico文件放在一起,打包成功后会出现一个dist目录,生成的.exe文件就放在里面。
注意:如果原本的程序中使用到了相应的资源(如图片),需要复制到该目录下,否则程序会无法运行。

图标文件格式错误

图标文件需要格式转换,不能直接改后缀名
如果你直接用.jpg,.png这样的格式文件,会出现这样的错误:

    except win32api.error as W32E:
AttributeError: module 'win32ctypes.pywin32.win32api' has no attribute 'error'

如果你直接改了后缀名,没有格式转换,会出现这样

[Errno 22] Invalid argument

或者这样的错误

struct.error: unpack requires a buffer of 16 bytes

可以点击这个ico图标生成进行格式转换

如果是第二个错误就尽量转换成16*16大小的.ico文件

简单打包命令

pyinstaller [-F/-D] [-w/-c] [-i iconname.ico] filename.py
-F/:将整个程序打包为一个exe文件,需要注意的是,与-D模式生成的exe程序相比,在启动速度上会慢一点,原因是它需要先解压exe文件并生成一个唯一的临时环境来运行程序,关闭环境时也会自动删除这个临时环境,-D模式的程序本身就是解压好的,运行完也不需要执行删除操作,当程序比较大时,这个差别就很明显了。
-D/:默认选项,与-F参数作用相反,将程序打包为一个文件夹,文件夹中包含启动程序的exe文件和其他依赖的资源文件和DLL文件等。
-w:表示程序运行后隐藏命令行窗口,当你不需要使用命令行窗口作为程序的I/O时,比如GUI程序,可以使用这个参数选项。
-c:默认选项,与-w相反,提供一个命令行窗口进行I/O。
-i/:指定exe程序图标。
posted @ 2020-04-26 07:54  bytepro  阅读(47)  评论(0)    收藏  举报