pyinstaller 屬於python第三方庫,使用前需先安裝
pip install pyinstaller
# pyinstaller 工具的命令語法如下:-h,--help# 1、第一種
pyinstaller options ~/myproject/source/myscript.py
# 2、第一種
pyinstaller "c:\documents and settings\project\myscript.spec"
檢視該模組的幫助資訊
-f,-onefile
dist中產生單個的可執行檔案
eg:pyinstaller -f demo.py
-d,--onedir
產生乙個目錄(包含多個檔案)作為可執行程式
eg:pyinstaller -d demo.py
-a,--ascii
不包含 unicode 字符集支援
-d,--debug
產生 debug 版本的可執行檔案
-w,--windowed,--noconsolc
指定程式執行時不顯示命令列視窗(僅對 windows 有效)
eg:pyinstaller -w demo.py
-c,--nowindowed,--console
指定使用命令列視窗執行程式(僅對 windows 有效)
eg:pyinstaller -c demo.py
-o dir,--out=dir
指定 spec 檔案的生成目錄。如果沒有指定,則預設使用當前目錄來生成 spec 檔案
-p dir,--path=dir
設定 python 匯入模組的路徑(和設定 pythonpath 環境變數的作用相似)。也可使用路徑分隔符(windows 使用分號,linux 使用冒號)來分隔多個路徑
eg:pyinstaller -p e:\python\lib\site-packages demo.py
-n name,--name=name
指定專案(產生的 spec)名字。如果省略該選項,那麼第乙個指令碼的主檔名將作為 spec 的名字
注:若程式沒有視覺化介面,不能雙擊執行程式
3、高階用法
當有特殊需求,比如打包資源檔案時,就必須用到它的高階用法。
首先得了解spec檔案,簡而言之,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配置是我新增修改之外,其餘全是自動生成,這個配置是用來新增資源檔案的。生成並配置好spec檔案後,我們可以通過pathex是工程的根目錄。
pyinstaller demo.spec
來執行打包任務。 使用pyinstaller 生成exe可執行檔案
有時候如果我們想要將自己寫的程式分享給別人,可是別人有沒有安裝python及其相關庫怎麼辦?當然是將他打包成exe可執行檔案啦!話不多說,直接放大招,安裝pyinstaller。由於我的電腦是python2 和python3共存,為了把pyinstall安裝到python3上,我需要使用python...
PyInstaller生成可執行程式
表 1 pyinstaller 支援的常用選項 h,help 檢視該模組的幫助資訊 f,onefile 產生單個的可執行檔案 d,onedir 產生乙個目錄 包含多個檔案 作為可執行程式 a,ascii 不包含 unicode 字符集支援 d,debug 產生 debug 版本的可執行檔案 w,wi...
PyInstaller生成可執行程式
pyinstaller 選項 python 原始檔例如 進入放置原始碼的資料夾內或者指定原始檔路徑 pyinstaller 源.py或 pyinstaller d 源.py生成單一的exe檔案 pyinstaller f 源.py加入圖示和版本資訊 pyinstaller f w version f...