一、工具準(zhǔn)備:
1)、安裝pyinstaller需要以這個(gè)包為基礎(chǔ)。也就是基礎(chǔ)軟件包。pyWin32包。下載對(duì)應(yīng)的pyWin32安裝包>>地址: https:///projects/pywin32/files/pywin32/Build%20220/ 在該地址下載。就OK。
需要說明的是,下載的安裝包必須和你電腦安裝的python版本相同。如: 我的電腦安裝了python 3.4版本 32位的。那么我就需要下載對(duì)應(yīng)的版本,就是pywin32-220.win32-py3.4.exe,可以看出來win32就是對(duì)應(yīng)我電腦python版本的32位,py3.4對(duì)應(yīng)我電腦中 python的版本。如果是64位的,那么就是amd64,注意這里說得32和64位,不是指你的電腦系統(tǒng)。是指python的版本有32位和64位之分。你查看你安裝的python版本就OK,命令行查看(DOS):python,會(huì)直接顯示
C:\Users\Administrator>python
Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (In
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
win32就是指32位咯。amd64就是指64位。
2)、下載完成,就需要點(diǎn)擊安裝了,打開pywin32-220.win32-py3.4.exe,會(huì)直接跳轉(zhuǎn)到安裝界面,然后安裝程序會(huì)自動(dòng)搜索你電腦里面的python,如果版本不對(duì)應(yīng),就無法搜索到,也就無法安裝,所以下載的版本要對(duì)應(yīng)。安裝完畢!
3)、python環(huán)境變量問題以及模塊找不到問題。安裝python如果默認(rèn)系統(tǒng)安裝,也就是安裝在C盤下面,那么python程序,就會(huì)自動(dòng)把環(huán)境變量配置好,如:C:\Python34\;C:\Python34\Scripts; 這個(gè)變量會(huì)直接添加到Path變量值下。
如果你不是安裝在C盤,那么你需要自己配置。也就是和上面的一樣,把兩個(gè)文件夾地址放到環(huán)境變量下。
解決導(dǎo)入pywin32找不到模塊問題: 將python安裝目錄下的Lib\site-packages添加到PYTHONPATH環(huán)境變量,將python安裝目錄Lib\site-packages\pywin32_system32下的文件拷貝到系統(tǒng)system32目錄下,這樣就可以解決導(dǎo)入 pywin32模塊時(shí)報(bào)找不到模塊問 題將python安裝目錄Lib\site-packages\pywin32_system32下的文件拷貝到系統(tǒng)system32目錄下,這樣就可以解決導(dǎo)入pywin32模塊時(shí)報(bào)找不到模塊問題。
4)、如此就解決pywin32的問題。現(xiàn)在安裝pyinstaller。可以直接在DOS命令行下:
pip install pyinstaller
在這個(gè)地址下載:https://pypi./pypi/PyInstaller/3.2 最新版本是3.2支持python2.7和python3.3到python3.5,而我的剛好是python3.4,所以就下載pyinstall3.2版本的,如果的你python版本不 是這個(gè)版本,那么你需要尋找到相應(yīng)的版本對(duì)應(yīng)。里面有英文文檔說明,如果不懂,那就翻譯吧。下載也在該地址: https://pypi./pypi/PyInstaller/3.2#downloads
建議命令行方式pip install pyinstaller 。也可以下載解壓包,然后進(jìn)入解壓包目錄,運(yùn)行命令:python setup.py install
到此為止,安裝就完成,pyinstaller 命令就能使用了。該命令是將py文件程序打包exe格式,可以直接在windows系統(tǒng)上運(yùn)行。
5)、現(xiàn)在就來說說pyinstaller命令的使用。使用該命令也會(huì)讓你頭疼的,不過相對(duì)別的打包,這是很方便的了。
==>先來說說該命令的參數(shù),必須了解這些參數(shù),才能更好的打包,使用該命令。
-distpath=path_to_executable // 該參數(shù)指定生成的可執(zhí)行文件存放的目錄,也就是生成的exe文件所在的目錄,如果不指定,就默認(rèn)存放在你的C盤用戶文檔目錄下,也就是Administrator目錄下dist文件夾下。
-workpath=path_to_work_files // 該參數(shù)指定編譯中臨時(shí)文件存放的目錄,默認(rèn)存放在Administrator目錄 build文件夾下。
-clean // 清理編譯時(shí)臨時(shí)文件,也就是build文件夾下的臨時(shí)文件。
-D(簡寫),-onedir(全稱) // 創(chuàng)建一個(gè)目錄包含exe執(zhí)行文件,里面還有很多依賴的文件(默認(rèn)的選項(xiàng))。
-F(簡寫),-onefile(全稱) // 生成單獨(dú)的exe文件,而不是文件夾。解釋: 就是一個(gè)單獨(dú)的exe執(zhí)行程序。不帶其他任何文件信息。
-c(簡寫),-console,-nowindowed // 使用控制臺(tái),就是dos窗口的形式,無界面(默認(rèn))
-w(簡寫),-windowed,-noconsole // 使用窗口,無控制臺(tái),如: 圖形化窗口程序,如果不指定-w,運(yùn)行的話就會(huì)帶dos窗口,如果帶的話,就只有和正常的軟件打開方式一樣。
-i(簡寫),--icon=圖標(biāo)路徑 // 如你的程序需要帶好看的ico格式的圖標(biāo),那么就帶需要準(zhǔn)備好圖標(biāo),ico格式,然后加上該參數(shù),指定圖標(biāo)路徑。
-p(簡寫),-path //一些你的程序所依賴的包,模塊的路徑,需要指定。
-d(簡寫),-debug(全稱) // 編譯為debug模式,主要是獲取運(yùn)行中的日志信息,查看編譯錯(cuò)誤。
-version-file=version_text_file // 該參數(shù)為exe文件添加版本信息,版本信息可以通過運(yùn)行pyi-grab_version加上要獲取版本信息的exe文件的路徑來生成,生成后的版本信息文件可以按需求修改并作為--version-file的參數(shù)添加到 要生成的exe文件中去
pyinstaller -h 來查看參數(shù)
6)、示例: 我自己執(zhí)行的一個(gè)寫的圖形化窗口程序:
C:\Users\Administrator>pyinstaller -F
C:\Users\Administrator\Desktop\wugui\shilian.py -p
C:\Python34\Lib\tkinter;C:\Python34; -i
C:\Users\Administrator\Desktop\ico\3.ico
如: 上面的執(zhí)行程序,-F 生成單獨(dú)exe執(zhí)行程序。 -p 我的程序所依賴的包,和模塊路徑(一般都在你的python安裝目錄下)。-i 我的圖標(biāo)路徑。
如果出現(xiàn)如下圖,就說明成功。