日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

系統(tǒng) 2198 0

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

1|0安裝方法

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

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

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

-F打包成一個(gè)exe文件

-i圖標(biāo)路徑

-w使用視窗,無(wú)控制臺(tái)

-c使用控制臺(tái),無(wú)視窗

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

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

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

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

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

datas是一個(gè)數(shù)組,每個(gè)子項(xiàng)是一個(gè)tuple,其中tuple的第一個(gè)參數(shù)是你要打包的源路徑,第二個(gè)參數(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示例

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

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

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

pyinstaller -F hello.py

編譯過(guò)程中會(huì)產(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.
          

通過(guò)輸出可以看出pyinstaller進(jìn)行了如下操作:

會(huì)先建立一個(gè)hello.spec

建立「build」文件夾

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

建立「dist」文件夾

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

4|1注意事項(xiàng)

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 晋中市| 乐东| 澄江县| 开封市| 自治县| 淄博市| 花垣县| 麟游县| 纳雍县| 湄潭县| 永新县| 呼和浩特市| 普兰县| 青州市| 阿拉尔市| 山东| 十堰市| 东乌珠穆沁旗| 和静县| 广饶县| 瑞丽市| 晋城| 新化县| 株洲县| 澳门| 孝昌县| 涟源市| 桃源县| 屏东市| 云和县| 江北区| 鄂州市| 清镇市| 洱源县| 诸城市| 大同县| 新乐市| 林芝县| 绥棱县| 温泉县| 宣威市|