python將多個py文件和其他文件打包為exe可執(zhí)行文件
前言:
最近在學習PYQT5,感覺還挺有趣的,順便記錄一下自己的打包記錄,也就當學習筆記啦,如果剛好也在學習python打包的小伙伴可以學一學哦。
1、準備好打包文件
首先準備好將要打包的工程文件(/夾)。在這個文件下,我們將frame_main.py當做主程序。

2、下載安裝Pyinstaller
在 cmd 中進入我們當前的python環(huán)境中,并進入當前項目的文件夾下:

下載安裝Pyinstaller

3、生成.spec文件
.spec文件為安裝配置文件,作用是對可執(zhí)行文件進行配置!因為我們把frame_main.py 當做主程序,所以輸入如下命令
pyi-makespec frame_main.py

可以看到此時文件夾下生成了一個 frame_main.spec 文件,其內容如下:

# -*- mode: python ; coding: utf-8 -*-
block_cipher =?None
a = Analysis(['frame_main.py'],
?????????????pathex=[],
?????????????binaries=[],
?????????????datas=[],
?????????????hiddenimports=[],
?????????????hookspath=[],
?????????????hooksconfig={},
?????????????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='frame_main',
??????????debug=False,
??????????bootloader_ignore_signals=False,
??????????strip=False,
??????????upx=True,
??????????console=True,
??????????disable_windowed_traceback=False,
??????????target_arch=None,
??????????codesign_identity=None,
??????????entitlements_file=None?)
coll = COLLECT(exe,
???????????????a.binaries,
???????????????a.zipfiles,
???????????????a.datas,
???????????????strip=False,
???????????????upx=True,
???????????????upx_exclude=[],
???????????????name='frame_main')4、配置.spec文件
我們需要對其進行配置,包括文件和靜態(tài)資源(圖片等),

在Analysis 加入所有py文件,datas中加入所有靜態(tài)資源。還有exe文件的圖標,記住圖標用絕對路徑。

5、生成exe文件
輸入命令:
pyinstaller?-F?-w?frame_main.spec
(備注:-F是將一個文件打包而成的,-w是運行時不出現(xiàn)黑色窗口的)
打包完成之后會在當前目錄文件夾下生成一個dist文件夾,打開之后會發(fā)現(xiàn)我們的 exe 文件。

雙擊 exe 文件,竟然會發(fā)現(xiàn)怎么還是會出現(xiàn)黑色窗口呢,也就是控制臺。
經過我?guī)煹艿狞c撥,終于發(fā)現(xiàn)了問題的所在,將spec文件中的 :
console =?True 改為: console =?False

繼續(xù)運行,再次打包。
pyinstaller?-F?-w?frame_main.spec
雙擊 exe 文件

這樣就不會出現(xiàn)黑框啦.....
到此這篇關于python將多個py文件和其他文件打包為exe可執(zhí)行文件的文章就介紹到這了,更多相關python 文件打包 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Numpy中array數(shù)組對象的儲存方式(n,1)和(n,)的區(qū)別
本文主要介紹了Numpy中array數(shù)組對象的儲存方式(n,1)和(n,)的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04
Python中數(shù)組,列表:冒號的靈活用法介紹(np數(shù)組,列表倒序)
下面小編就為大家分享一篇Python中數(shù)組,列表:冒號的靈活用法介紹(np數(shù)組,列表倒序),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
pyspark給dataframe增加新的一列的實現(xiàn)示例
這篇文章主要介紹了pyspark給dataframe增加新的一列的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
Python+Pygame實現(xiàn)之走四棋兒游戲的實現(xiàn)
大家以前應該都聽說過一個游戲:叫做走四棋兒。直接在家里的水泥地上用燒完的炭火灰畫出幾條線,擺上幾顆石頭子即可。當時的火爆程度可謂是達到了一個新的高度。本文將利用Pygame實現(xiàn)這一游戲,需要的可以參考一下2022-07-07

