使用PyInstaller將python轉(zhuǎn)成可執(zhí)行文件exe筆記
1、安裝PyInstaller
PyInstaller的作用如標(biāo)題所說,首先需要下載PyInstaller和UPX,UPX是用來壓縮exe的,點(diǎn)擊超鏈接下載吧,目前穩(wěn)定版本是1.3,注意選擇你使用的操作系統(tǒng)。如在Windows下,將下載解壓后的upx.exe放到PyInstaller解壓后的文件夾內(nèi)。設(shè)PyInstaller的文件夾為D:\PyInstaller,下同。命令行下進(jìn)入D:\PyInstaller,運(yùn)行Configure.py,應(yīng)該看到如下信息:
I: computing EXE_dependencies
I: Finding TCL/TK...
I: found TCL/TK version 8.5
I: testing for Zlib...
I: ... Zlib available
I: Testing for ability to set icons, version resources...
I: ... resource update available
I: Testing for Unicode support...
I: ... Unicode available
I: testing for UPX...
I: ...UPX available
I: computing PYZ dependencies...
不能出現(xiàn)開頭為E(Error)的信息,最好不要有W(Warning)的信息。如果出現(xiàn)找不到某dll,請(qǐng)把該dll文件放置到C:\Windows\system32下,一般能解決。
Linux用戶還需要編譯Runtime Executables,Windows用戶不需要。主要是運(yùn)行Make.py,會(huì)在PyInstaller\support\load\下生成run和run_d兩個(gè)文件,詳見PyInstaller\doc\Manual.html說明。
2、寫一個(gè)Py程序
為了實(shí)驗(yàn),寫一個(gè)HelloWorld.py,假設(shè)保存在C:\HelloWorld.py
#!/usr/bin/env python
print 'Hello,World!'
words = raw_input('What do you want to say? ')
print 'you said:'+words
3、創(chuàng)建spec文件
spec文件是用來告訴PyInstaller要編譯的py文件和參數(shù)的。執(zhí)行"Makespec.py+參數(shù)+Py代碼路徑"就可以,主要參數(shù)如下(詳見PyInstaller\doc\Manual.html):
-F, --onefile Py代碼只有一個(gè)文件
-D, --onedir Py代碼放在一個(gè)目錄中(默認(rèn)是這個(gè))
-K, --tk 包含TCL/TK
-d, --debug 生成debug模式的exe文件
-w, --windowed, --noconsole 窗體exe文件(Windows Only)
-c, --nowindowed, --console 控制臺(tái)exe文件(Windows Only)
-X, --upx 使用upx壓縮exe文件
-o DIR, --out=DIR 設(shè)置spec文件輸出的目錄,默認(rèn)在PyInstaller同目錄
--icon=<FILE.ICO> 加入圖標(biāo)(Windows Only)
-v FILE, --version=FILE 加入版本信息文件
對(duì)于HelloWorld.py,具體執(zhí)行以下代碼:
Makespec.py --onefile --console --upx --tk -o C:\ C:\HelloWorld.py
執(zhí)行后C:\就出現(xiàn)HelloWorld.spec
4、Build spec文件,生成exe文件
執(zhí)行:
Build.py C:\HelloWorld.spec
一長(zhǎng)串信息之后,你會(huì)在C:\下發(fā)現(xiàn)HelloWorld.exe這個(gè)文件,就是它啦!體積還真不小,2.7M,這是因?yàn)檫@個(gè)HelloWorld程序殺雞用牛刀罷了。此外其它的文件均是過程文件,可刪除。
相關(guān)文章
使用Python程序抓取新浪在國(guó)內(nèi)的所有IP的教程
這篇文章主要介紹了使用Python程序抓取新浪在國(guó)內(nèi)的所有IP的教程,作為Python網(wǎng)絡(luò)編程中獲取IP的一個(gè)小實(shí)踐,需要的朋友可以參考下2015-05-05
python視頻轉(zhuǎn)化字節(jié)問題的完整實(shí)現(xiàn)
在Python中可以將視頻和字節(jié)進(jìn)行轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于python視頻轉(zhuǎn)化字節(jié)問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
pytorch 彩色圖像轉(zhuǎn)灰度圖像實(shí)例
今天小編就為大家分享一篇pytorch 彩色圖像轉(zhuǎn)灰度圖像實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Django url,從一個(gè)頁(yè)面調(diào)到另個(gè)頁(yè)面的方法
今天小編就為大家分享一篇Django url,從一個(gè)頁(yè)面調(diào)到另個(gè)頁(yè)面的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
GitHub 熱門:Python 算法大全,Star 超過 2 萬(wàn)
4 月 27 日,GitHub 趨勢(shì)榜第 3 位是一個(gè)用 Python 編碼實(shí)現(xiàn)的算法庫(kù),Star 數(shù)早已達(dá)到 26000+2019-04-04
Python設(shè)置在shell腳本中自動(dòng)補(bǔ)全功能的方法
今天小編就為大家分享一篇Python設(shè)置在shell腳本中自動(dòng)補(bǔ)全功能的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
教你如何用Python實(shí)現(xiàn)人臉識(shí)別(含源代碼)
Python可以從圖像或視頻中檢測(cè)和識(shí)別你的臉.人臉檢測(cè)與識(shí)別是計(jì)算機(jī)視覺領(lǐng)域的研究熱點(diǎn)之一.人臉識(shí)別的應(yīng)用包括人臉解鎖、安全防護(hù)等,醫(yī)生和醫(yī)務(wù)人員利用人臉識(shí)別來獲取病歷和病史,更好地診斷疾病,需要的朋友可以參考下2021-06-06

