安裝命令视粮,設(shè)置超時(shí)
pip --default-timeout=300 install PyQtWebEngine
pip --default-timeout=100 install -U pyinstaller
相關(guān)參數(shù)
-F, –onefile 打包一個(gè)單個(gè)文件,如果你的代碼都寫在一個(gè).py文件的話橙凳,可以用這個(gè)蕾殴,如果是多個(gè).py文件就別用
-D, –onedir 打包多個(gè)文件笑撞,在dist中生成很多依賴文件,適合以框架形式編寫工具代碼钓觉,我個(gè)人比較推薦這樣茴肥,代碼易于維護(hù)
-K, –tk 在部署時(shí)包含 TCL/TK
-a, –ascii 不包含編碼 . 在支持 Unicode的 python 版本上默認(rèn)包含所有的編碼 .
-d, –debug 產(chǎn)生 debug 版本的可執(zhí)行文件
-w,–windowed,–noconsole 使用 Windows 子系統(tǒng)執(zhí)行 . 當(dāng)程序啟動(dòng)的時(shí)候不會(huì)打開(kāi)命令行 ( 只對(duì) Windows 有效 )
-c,–nowindowed,–console 使用控制臺(tái)子系統(tǒng)執(zhí)行 ( 默認(rèn) )( 只對(duì) Windows 有效 ) pyinstaller -c xxxx.py pyinstaller xxxx.py --console
-s,–strip 可執(zhí)行文件和共享庫(kù)將 run through strip. 注意 Cygwin的 strip 往往使普通的 win32 Dll 無(wú)法使用 .
-X, –upx 如果有 UPX 安裝 ( 執(zhí)行 Configure.py 時(shí)檢測(cè) ), 會(huì)壓縮執(zhí)行文件 (Windows 系統(tǒng)中的 DLL 也會(huì) )( 參見(jiàn) note)
-o DIR, –out=DIR 指定 spec 文件的生成目錄 , 如果沒(méi)有指定 , 而且當(dāng)前目錄是 PyInstaller 的根目錄 , 會(huì)自動(dòng)創(chuàng)建一個(gè)用于輸出 (spec 和生成的可執(zhí)行文件 ) 的目錄 . 如果沒(méi)有指定 , 而當(dāng)前目錄不是 PyInstaller 的根目錄 , 則會(huì)輸出到當(dāng)前的目錄下 .
-p DIR, –path=DIR 設(shè)置導(dǎo)入路徑 ( 和使用 PYTHONPATH 效果相似 ). 可以用路徑分割符 (Windows 使用分號(hào) ,Linux 使用冒號(hào) ) 分割 , 指定多個(gè)目錄 . 也可以使用多個(gè) -p 參數(shù)來(lái)設(shè)置多個(gè)導(dǎo)入路徑,讓pyinstaller自己去找程序需要的資源
–icon=<FILE.ICO>
將 file.ico 添加為可執(zhí)行文件的資源 ( 只對(duì) Windows 系統(tǒng)有效 )荡灾,改變程序的圖標(biāo) pyinstaller - i ico路徑 xxxxx.py
–icon=<FILE.EXE,N> 將 file.exe 的第 n 個(gè)圖標(biāo)添加為可執(zhí)行文件的資源 ( 只對(duì) Windows 系統(tǒng)有效 )
-v FILE, –version=FILE 將 verfile 作為可執(zhí)行文件的版本資源 ( 只對(duì) Windows 系統(tǒng)有效 )
-n NAME, –name=NAME 可選的項(xiàng)目 ( 產(chǎn)生的 spec 的 ) 名字 . 如果省略 , 第一個(gè)腳本的主文件名將作為 spec 的名字
pyinstaller -F -i D:\favicon.ico check_view.py
打包圖片資源文件
spec文件就是一份告訴pyinstaller如何打包的配置文件瓤狐。可以通過(guò)pyi-makespec demo.py來(lái)生成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配置是我添加修改之外卧晓,其余全是自動(dòng)生成芬首,這個(gè)配置是用來(lái)添加資源文件的。
pathex是工程的根目錄逼裆。
關(guān)于瀏覽器內(nèi)核等知識(shí):
https://blog.csdn.net/milado_nju/article/details/7216067