Python Pyinstaller安裝與使用

2021-10-03 19:49:35 字數 4215 閱讀 2304

使用python自帶的pip命令安裝,在命令列輸入以下命令:

pip install pyinstaller
也可使用命令列:

--trusted-host mirrors.aliyun.com成功之後將看到以下的輸出結果:

successfully installed pyinstaller-***  #***版本號
pyinstaller 支援的常用選項

-h,–help

檢視該模組的幫助資訊

-f,-onefile

產生單個的可執行檔案

-d,–onedir

產生乙個目錄(包含多個檔案)作為可執行程式

-a,–ascii

不包含 unicode 字符集支援

-d,–debug

產生 debug 版本的可執行檔案

-w,–windowed,–noconsolc

指定程式執行時不顯示命令列視窗(僅對 windows 有效)

-c,–nowindowed,–console

指定使用命令列視窗執行程式(僅對 windows 有效)

-o dir,–out=dir

指定 spec 檔案的生成目錄。如果沒有指定,則預設使用當前目錄來生成 spec 檔案

-p dir,–path=dir

設定 python 匯入模組的路徑(和設定 pythonpath 環境變數的作用相似)。也可使用路徑分隔符(windows 使用分號,linux 使用冒號)來分隔多個路徑

-n name,–name=name

指定專案(產生的 spec)名字。如果省略該選項,那麼第乙個指令碼的主檔名將作為 spec 的名字

–i con=file.ico

加入圖示(windows only)

在cmd視窗輸入:

pyinstaller -f d:\name.py   #轉化的py檔案的絕對路徑
生成的exe檔案將在tist資料夾中,c:\users\78020\dist

為了能夠自定義配置的打包檔案,首先需要改寫spec檔案,將改寫好的檔案儲存為字尾名為(.spec),記好儲存的路徑

spec的初始**

# -*- mode: python -*-

block_cipher =

none

a = analysis(

['fastplot.py'],

pathex=

['d:\\install_test\\dagui-0.1\\bin'],

binaries=

,datas=

,hiddenimports=

,hookspath=

,runtime_hooks=

,excludes=

,win_no_prefer_redirects=

false

,win_private_assemblies=

false

,cipher=block_cipher)

pyz = pyz(a.pure, a.zipped_data,

cipher=block_cipher)

exe = exe(pyz,

a.scripts,

exclude_binaries=

true

,name=

'fastplot'

,debug=

false

,strip=

false

,upx=

true

,console=

false

)coll = collect(exe,

a.binaries,

a.zipfiles,

a.datas,

strip=

false

,upx=

true

,name=

'fastplot'

)

spec檔案中主要包含4個class: analysis, pyz, exe和collect.

analysis以py檔案為輸入,它會分析py檔案的依賴模組,並生成相應的資訊

pyz是乙個.pyz的壓縮包,包含程式執行需要的所有依賴

exe根據上面兩項生成

collect生成其他部分的輸出資料夾,collect也可以沒有

需要改寫的**塊有:

a = analysis() , 用列表的方式儲存你要打包的所有py檔案路徑

datas = [ ], 儲存其他資料夾(事先把它們以資料夾儲存好)的路徑

修改之後**:

# -*- mode: python -*-

import sys

import os.path as osp

sys.setrecursionlimit(

5000)

block_cipher =

none

setup_dir =

'd:\\gggg\\'

a = analysis(

['d:\\gggg\\bullet.py'

,'d:\\gggg\\main.py'

,'d:\\gggg\\myplane.py'

,'d:\\gggg\\supply.py'

,'d:\\gggg\\enemy.py',]

,pathex=

['d:\\'],

binaries=

,datas=

[(setup_dir+

'font'

,'font'),

(setup_dir+

'images'

,'images'),

(setup_dir+

'plane'

,'plane'),

(setup_dir+

'sound'

,'sound'),

(setup_dir+

'text'

,'text')]

,hiddenimports=

['pandas'

,'pandas._libs'

,'pandas._libs.tslibs.np_datetime'

,'pandas._libs.tslibs.timedeltas'

,'pandas._libs.tslibs.nattype'

,'pandas._libs.skiplist'

,'scipy._lib'

,'scipy._lib.messagestream'],

hookspath=

,runtime_hooks=

,excludes=

,win_no_prefer_redirects=

false

,win_private_assemblies=

false

,cipher=block_cipher)

pyz = pyz(a.pure, a.zipped_data,

cipher=block_cipher)

exe = exe(pyz,

a.scripts,

exclude_binaries=

true

,name=

'fastplot'

,debug=

false

,strip=

false

,upx=

true

,console=

true

)coll = collect(exe,

a.binaries,

a.zipfiles,

a.datas,

strip=

false

,upx=

true

,name=

'fastplot'

)

pyinstaller -d ***.spec    #***為檔案路徑
打包生成兩個檔案目錄build和dist,

build為臨時檔案目錄,dist(c:\users\78020\dist)是打包的結果,可執行檔案和其它程式執行的關聯檔案都在這個目錄下,在這個檔案下,即使在沒有安裝python的電腦也可以執行程式

python pyinstaller的安裝與使用

安裝 pip install pyinstaller 如果提示requirement already satisfied 後面一堆的話,指定乙個位址 pip install target 目標位址 一般在scripts下 pyinstaller 安裝成功後我變成了這樣,在bin檔案裡找到pyinst...

pyenv virtualenv 的安裝與使用

1 安裝pyenv 建立安裝目錄 mkdir pyenvgit clone pyenv git clone pyenv plugins pyenv virtualenvecho export pyenv root home pyenv bash profile echo export path py...

Spotlight on Unix 的安裝與使用

1.本文背景 直接點選 next 按鈕,切換到選擇安裝路徑介面 選擇安裝路徑,點選 next 按鈕,切換到安裝許可協議介面 選擇同意,點選 next 按鈕,切換到安裝資訊檢查介面 確認無誤後點選 next 按鈕,開始安裝 spotlight 到電腦 安裝結束後提示安裝成功 點選 finish 按鈕結...