PyInstaller
PyInstaller 是一個(gè)十分有用的第三方庫,可以用來打包 python 應(yīng)用程序石咬,打包完的程序就可以在沒有安裝 Python 解釋器的機(jī)器上運(yùn)行了啡浊。
它能夠在 Windows、Linux彪腔、 Mac OS X 等操作系統(tǒng)下將 Python 源文件打包送火,通過對(duì)源文件打包, Python 程序可以在沒有安裝 Python 的環(huán)境中運(yùn)行歹茶,也可以作為一個(gè) 獨(dú)立文件方便傳遞和管理夕玩。
PyInstaller 支持 Python 2.7 / 3.4-3.7【颍可以在 Windows燎孟、Mac OS X 和 Linux 上使用,但是并不是跨平臺(tái)的尸昧,而是說你要是希望打包成 .exe 文件揩页,需要在 Windows 系統(tǒng)上運(yùn)行 PyInstaller 進(jìn)行打包工作。
下面我們以Windows為例來進(jìn)行程序的打包工作烹俗。
安裝
pip install pyinstaller # 或者python -m pip install pyinstaller
檢測(cè)是否安裝成功:
pyinstaller --version
使用
這里我寫了一個(gè)爬取網(wǎng)頁新聞的腳本NewsSpider
pyinstaller -F NewsSpider.py
其中爆侣,-F表示打包成單獨(dú)的 .exe 文件,這時(shí)生成的 .exe 文件會(huì)比較大幢妄,而且運(yùn)行速度回較慢兔仰。僅僅一個(gè) NewsSpider 程序,生成的文件就 5MB 大蕉鸳。
另外乎赴,使用-i還可以指定可執(zhí)行文件的圖標(biāo);-w表示去掉控制臺(tái)窗口潮尝,這在 GUI 界面時(shí)非常有用榕吼。不過如果是命令行程序的話那就把這個(gè)選項(xiàng)刪除吧!
PyInstaller 會(huì)對(duì)腳本進(jìn)行解析勉失,并做出如下動(dòng)作:
1羹蚣、在腳本目錄生成 NewsSpider.spec 文件;
2乱凿、創(chuàng)建一個(gè) build 目錄顽素;
3、寫入一些日志文件和中間流程文件到 build 目錄告匠;
4戈抄、創(chuàng)建 dist 目錄;
5后专、生成可執(zhí)行文件到 dist 目錄划鸽;
準(zhǔn)備一個(gè)圖片,作為exe的圖標(biāo):
ns.ico
注意圖片格式是ico的戚哎,大小為32*32裸诽,不要太大。沒有的話型凳,可以在網(wǎng)上免費(fèi)轉(zhuǎn)格式丈冬。http://www.favicon-icon-generator.com/favicon
把NewsSpider.py和ns.ico放到一個(gè)目錄里面
pyinstaller -F -i ns.ico NewsSpider.py
執(zhí)行結(jié)果