打包python檔案為exe檔案(PyInstaller工具使用方法)
最近做的新浪微博爬蟲程式,打算打包成.exe軟體以方便使用,網上找到一個很好的打包工具pyinstaller,這裡記錄一下打包的方法。
一、下載pyinstaller
我使用的版本為PyInstaller-2.1,支援python版本2.3-2.7,點選這裡下載。
二、安裝pyinstaller
下載完成後,解壓即可。我的解壓目錄為D:\Python27\PyInstaller-2.1\
三、使用pyinstaller打包.py成.exe應用程式
1.注意使用前要安裝pywin32,點選這裡下載。
2.將需要打包的.py放到PyInstaller-2.1目錄下,如下圖所示。
在命令列,cd進入可執行python命令的目錄,執行命令:python pyinstaller.py [opts] yourprogram.py
主要選項包括:
-F, –onefile 打包成一個exe檔案。
-D, –onedir 建立一個目錄,包含exe檔案,但會依賴很多檔案(預設選項)。
-c, –console, –nowindowed 使用控制檯,無介面(預設)
-w, –windowed, –noconsole 使用視窗,無控制檯
更詳細的使用方法可以參考下載包裡的doc目錄下的Manual.html檔案。
具體操作:
python pyinstaller.py-F sina_crawler.py
實際操作:(其實就是注意檔案路徑,我的pyinstaller安裝目錄D:\Python27\pyinstaller-2.1\)
cd到d:\Python27\目錄下,然後命令:
python pyinstaller-2.1\pyinstaller.py -F pyinstaller-2.1\sina_crawler.py
如果最後出現Appending archive to EXE,則生成成功。
注意會生成(均在Python27目錄下):
1. dist資料夾(包含生成好的sina_crawler.exe)
2.build資料夾(中間生成,沒用,事後可以刪掉)
3.sina_crawler.spec
四、生成的微博爬蟲軟體
雙擊生成的dist資料夾裡的sina-crawler.exe檔案,執行軟體開始爬取微博。
順便說句題外話,對於控制檯程式執行,無論是.py檔案還是生成的.exe檔案,程式執行完閃退的情況:可以在程式加上raw_input()函式,表示執行結束等待回車輸入再退出。
爬下來的頁面: