赞
踩
Pyinstaller用于打包python程序到二进制文件,win下打包为exe,linux下打包为elf,mac下打包为app。x86与arm架构均支持。
pip install pyinstaller
pyinstaller -D main.py -p script1 -p script2 --hidden-import module1 --hidden-import module2
-F:打包为单独一个二进制文件
-D:打包为一个文件夹,文件夹里包括二进制与所需依赖,与-F二选一。-F有时会出现莫名的错误,使用-D可避免,因此推荐-D。
-w:禁止命令行弹出,通打包带gui的程序使用
-p:导入自己编写的、main.py调用的其他脚本
-i:指定二进制图标,后接xxx.icon
--hidden-import:导入自己编写的、main.py调用的模块
注:非自己编写的模块,如import pandas等,不需要写入命令行。
会在当前目录下生成build文件夹、dist文件夹、xx.spec文件。二进制文件在dist文件夹中。
Pyinstaller不能识别动态导入!如依靠importlib或__import__()导入的包,需要在命令行手动添加!
若报错如下:
ModuleNotFoundError: No module named 'XXX'
则在打包末尾加上--hidden-import XXX,重试:
pyinstaller -D main.py --hidden-import XXX
若报错如下:
importlib_metadata.PackageNotFoundError: No package metadata was found for XXX
则在打包末尾加上--copy-metadata XXX,重试:
pyinstaller -D main.py --copy-metadata XXX
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。