欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

將Python文件打包成.EXE可執(zhí)行文件的方法

 更新時間:2019年08月11日 15:59:35   作者:溫而新  
目前有好幾種方法可以將python文件打包成exe應(yīng)用程序文件,例如py2exe,pyinstaller等,比較下來,還是覺得pyinstaller使用起來比較簡單。

利用Python寫了一個小腳本想要傳給使用Windows但沒有裝Python的朋友執(zhí)行,這時候就可以利用將檔案包裝成exe檔案,讓沒有Python的朋友也可以執(zhí)行。本篇將介紹利用套件「PyInstaller」制作exe檔。

1|0安裝方法

#安裝pyinstaller
pip install pyinstaller
#安裝依賴
pip install pywin32-ctypes

2|0常用參數(shù)介紹

pyinstaller -h來查看參數(shù)

-F打包成一個exe文件

-i圖標路徑

-w使用視窗,無控制臺

-c使用控制臺,無視窗

-D創(chuàng)建一個目錄,包含exe以及其他一些依賴性文件

編譯文件時,我們通常使用如下命令:

pyinstaller -F -w -i favo.ico main.py

3|0靜態(tài)文件

對于python所依賴的圖片,config.yaml等靜態(tài)文件,pyinstall不會自動打包,需要手動在main.py(所需要打包的入口文件)的相同目錄中尋找main.spec,修改datas依賴,才可以自動打包到exe的相同目錄下,然后執(zhí)行即可

datas是一個數(shù)組,每個子項是一個tuple,其中tuple的第一個參數(shù)是你要打包的源路徑,第二個參數(shù)是打包后的名字

# -*- mode: python -*-

block_cipher = None

a = Analysis(['ui.py'],
pathex=['C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test'],
binaries=[],
datas=[('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\images','images'),('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\question.yaml','question.yaml')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)

然后執(zhí)行:

pyinstaller -F main.spec

4|0示例

如下圖所示,我們編寫一個輸出helow pyinstaller的Python程序,并利用input()使程序可以暫時停在輸出畫面。

print('helow pyinstaller')
input('please wait:')

編譯python為exe,編譯過程中會自動安裝相關(guān)依賴

pyinstaller -F hello.py

編譯過程中會產(chǎn)生如下輸出:

…
6942 INFO: checking PY
6944 INFO: Building because toc changed
6944 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz
7559 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz completed successfully.
7568 INFO: checking PKG
7569 INFO: Building because toc changed
7569 INFO: Building PKG(CArchive)PKG-00.pkg
9407 INFO: Building PKG(CArchive)PKG-00.pkg completed successfully.
9409 INFO: Bootloader c:\users\user\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe9409 INFO: checking EXE
9411 INFO: Building because toc changed
9411 INFO: Building EXE from EXE-00.toc
9412 INFO: Appending archive to EXE C:\Users\user\Desktop\test\dist\test.exe
9455 INFO: Building EXE from EXE-00.toc completed successfully.

通過輸出可以看出pyinstaller進行了如下操作:

會先建立一個hello.spec

建立「build」文件夾

建立log紀錄檔與工作檔案于文件夾build中

建立「dist」文件夾

建立執(zhí)行檔(.exe)在「dist」文件夾

4|1注意事項

執(zhí)行檔案可在win8/win10,64位的電腦運行,但win7 x64和其余所有32位失敗,會提示不兼容,若要能32位與64位皆可運行,就要在Python 32位的環(huán)境下編譯PyInstaller打包exe,才能在32位與64位成功。

相關(guān)文章

  • Flask??請求鉤子的實現(xiàn)

    Flask??請求鉤子的實現(xiàn)

    這篇文章主要給大家分享了Flask請求鉤子的實現(xiàn),在客戶端和服務(wù)器交互的過程中,有些準備工作或掃尾工作需要處理,比如:在請求開始時,建立數(shù)據(jù)庫連接;在請求開始時,根據(jù)需求進行權(quán)限校驗;在請求結(jié)束時,指定數(shù)據(jù)的交互格式;下面來看看文章詳細介紹內(nèi)容吧
    2021-11-11
  • 最新評論