PyInstaller生成可執行程式

2022-07-19 18:51:09 字數 2731 閱讀 5530

pyinstaller 屬於python第三方庫,使用前需先安裝

pip install pyinstaller

# pyinstaller 工具的命令語法如下:

# 1、第一種

pyinstaller options ~/myproject/source/myscript.py

# 2、第一種

pyinstaller "c:\documents and settings\project\myscript.spec"

-h,--help

檢視該模組的幫助資訊

-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配置是我新增修改之外,其餘全是自動生成,這個配置是用來新增資源檔案的。

pathex是工程的根目錄。

生成並配置好spec檔案後,我們可以通過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...