安装命令,设置超时
pip --default-timeout=300 install PyQtWebEngine
pip --default-timeout=100 install -U pyinstaller
相关参数
-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护
-K, –tk 在部署时包含 TCL/TK
-a, –ascii 不包含编码 . 在支持 Unicode的 python 版本上默认包含所有的编码 .
-d, –debug 产生 debug 版本的可执行文件
-w,–windowed,–noconsole 使用 Windows 子系统执行 . 当程序启动的时候不会打开命令行 ( 只对 Windows 有效 )
-c,–nowindowed,–console 使用控制台子系统执行 ( 默认 )( 只对 Windows 有效 ) pyinstaller -c xxxx.py pyinstaller xxxx.py --console
-s,–strip 可执行文件和共享库将 run through strip. 注意 Cygwin的 strip 往往使普通的 win32 Dll 无法使用 .
-X, –upx 如果有 UPX 安装 ( 执行 Configure.py 时检测 ), 会压缩执行文件 (Windows 系统中的 DLL 也会 )( 参见 note)
-o DIR, –out=DIR 指定 spec 文件的生成目录 , 如果没有指定 , 而且当前目录是 PyInstaller 的根目录 , 会自动创建一个用于输出 (spec 和生成的可执行文件 ) 的目录 . 如果没有指定 , 而当前目录不是 PyInstaller 的根目录 , 则会输出到当前的目录下 .
-p DIR, –path=DIR 设置导入路径 ( 和使用 PYTHONPATH 效果相似 ). 可以用路径分割符 (Windows 使用分号 ,Linux 使用冒号 ) 分割 , 指定多个目录 . 也可以使用多个 -p 参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源
–icon=<FILE.ICO>
将 file.ico 添加为可执行文件的资源 ( 只对 Windows 系统有效 ),改变程序的图标 pyinstaller - i ico路径 xxxxx.py
–icon=<FILE.EXE,N> 将 file.exe 的第 n 个图标添加为可执行文件的资源 ( 只对 Windows 系统有效 )
-v FILE, –version=FILE 将 verfile 作为可执行文件的版本资源 ( 只对 Windows 系统有效 )
-n NAME, –name=NAME 可选的项目 ( 产生的 spec 的 ) 名字 . 如果省略 , 第一个脚本的主文件名将作为 spec 的名字
pyinstaller -F -i D:\favicon.ico check_view.py
打包图片资源文件
spec文件就是一份告诉pyinstaller如何打包的配置文件。可以通过pyi-makespec demo.py来生成demo.spec文件.
# -*- mode: python -*-
block_cipher = None
resources = (("inspurer.db", "."), ("dlib_face_recognition_resnet_model_v1.dat", "."),
("shape_predictor_68_face_landmarks.dat", "."), ("close_logcat.png", ".")
, ("open_logcat.png", "."), ("finish_register.png", "."), ("new_register.png", ".")
, ("start_punchcard.png", "."), ("end_puncard.png", "."), ("index.png", "."))
a = Analysis(['workAttendanceSystem.py'],
pathex=['C:\\Users\\lenovo\\Desktop\\test\\python'],
binaries=[],
datas=resources,
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='workAttendanceSystem',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='workAttendanceSystem')
除了resources配置是我添加修改之外,其余全是自动生成,这个配置是用来添加资源文件的。
pathex是工程的根目录。
关于浏览器内核等知识:
https://blog.csdn.net/milado_nju/article/details/7216067
网友评论