您好,登錄后才能下訂單哦!
這篇“Python pyinstaller庫怎么安裝配置”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python pyinstaller庫怎么安裝配置”文章吧。
pyinstaller模塊主要用于python代碼打包成exe程序直接使用,這樣在其它電腦上即使沒有python環境也是可以運行的。
pyinstaller屬于第三方庫,因此在使用的時候需提前安裝
pip install pyinstaller
1.配置生成exe程序文件夾
(1)如果不熟悉spec配置內容,可以在終端運行如下指令生成固定模板
pyinstaller --name myapp main.py # myapp為生成的spec文件名稱,main.py為打包的文件
(2)運行完后我們會看見如下幾個文件,dist和build直接刪除即可。我看打開myapp.spec文件可以看見配置信息。
# -*- mode: python ; coding: utf-8 -*- block_cipher = None a = Analysis( ['main.py','hello.py'], #注:要打包的模塊,按照先后順序運行 pathex=['C:/Users/pythonProject'], #注:要打包的Python源代碼的路徑列表。 binaries=[], datas=[], #注:要打包的非Python資源(例如圖像、配置文件等)列表。 hiddenimports=[''requests], #注:必需的隱藏導入列表,用于告訴PyInstaller找到其他未明確指定的依賴項。 hookspath=[], #注:一個路徑列表,其中包含指定要自定義的鉤子模塊的目錄。 hooksconfig={}, #注: runtime_hooks=[], #注:用于在應用程序運行時運行的Python代碼文件列表。 excludes=[], #注:不包括在生成的可執行文件中的模塊列表 win_no_prefer_redirects=False, #注: win_private_assemblies=False, cipher=block_cipher, #注:用于加密Python字節碼的密碼。 noarchive=False, ) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) #注:a.pure: 一個布爾值,指示是否生成純Python字節碼。如果為True,則PyInstaller將不包括任何二進制文件或庫。
a.zipped_data: 用于包含OneFile模式下的所有Python腳本和資源的元組。
exe = EXE( pyz, #注:一個PYZ實例,其中包含要打包的所有Python腳本和資源。 a.scripts, #注:應用程序的主Python腳本列表。 [], exclude_binaries=True, name='myapp', #注:生成exe可執行文件的名稱 debug=False, #注:一個布爾值,指示是否生成調試版本的可執行文件 bootloader_ignore_signals=False, #注:一個布爾值,指示是否忽略啟動加載器的信號。 strip=False, #注:一個布爾值,指示是否對可執行文件進行符號剝離。 upx=True, #注:一個布爾值,指示是否使用UPX壓縮可執行文件 console=True, #注:是否開啟dos窗口 disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, icon:'圖標.ico' #注:用戶生成exe文件的封面,后綴必須是ico格式,轉換地址:https://convertio.co/zh/download/88c5806204642c8a1c10e65b1bef9b5886f6d8/ ) coll = COLLECT( exe, #注:你的Python腳本生成的可執行文件路徑(通常是與spec文件同名的文件) a.binaries, #注:二進制對象列表,表示其他相關二進制文件的位置以及將它們復制到輸出目錄的相對路徑。例如,如果您的應用程序需要音頻或圖像文件,則可以使用此參數將其包含在可執行文件中。 a.zipfiles, #注:壓縮文件列表,表示應該從zip文件中提取哪些文件并將它們放入輸出目錄。這對于打包一些必需的庫或數據文件非常有用。 a.datas, #注:數據文件列表,這些文件不應被壓縮,但應該被復制到輸出目錄中。例如,這可能包括配置文件、模板文件或其他類型的文本文件。 strip=False, #注:是否從可執行文件和庫中去除調試信息。默認情況下為True,這將減小文件大小,但會使得調試更加困難。 upx=True, #注:是否使用UPX來壓縮可執行文件和庫。默認情況下為False,因為UPX可能會導致某些文件無法正常工作。 upx_exclude=[], #注: name='myapp', #注:打包文件夾名稱。 )
(3)通常我們只需要配置需要打包的模塊+pathex+生成exe文件的名稱+exe存在目錄的名稱,配置完后直接在終端輸入指令進行打包。
pyinstaller myapp.spec
(4)打包完成后在項目所在目錄下可以看下dist文件,dist文件下一目錄就是打包文件夾,文件夾下面就是所在的程序。這里需要注意的是,因為我們打包的是文件夾,因此發給別人使用的時候,因把整個文件夾發過去,才能正確運行。
(5)配置要打包的模塊,若模塊之間存在import連接,可直接打包最終(main)運行的那個模塊即可,pyinstaller會默認把main涉及的impor(.py+第三方庫)全部一起打包。若兩個py模塊相互沒有任何關聯,這個時候可以打包多個。
2.配置生成獨立的exe文件
(1)這里和上面步驟一樣,先生成模板
pyinstaller -F main.py
(2)模板大概樣式如下,字段意思和上面一致。
# -*- mode: python ; coding: utf-8 -*- block_cipher = None a = Analysis( ['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, a.binaries, a.zipfiles, a.datas, [], name='hello', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=True, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, )
(3)配置完成后終端運行指令打包,打包完成后會看見dist目錄下只有一個exe文件。
pyinstaller myapp.spec
除了配置spec文件,還可以直接通過pyinstaller指令來直接打包,這里就不做多介紹了
以上就是關于“Python pyinstaller庫怎么安裝配置”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。