##1 項目描述##python
爲了減輕妹子工做中處理Excel的辛苦,用python寫了幾個處理xlsx的代碼,分別完成一些獨立的任務,如根據考勤記錄判斷天天將來、遲到、早退的名單,實現兩個複雜xlsx文件的單元格對比,等等。但妹子畢竟是文科生,直接提供py代碼而且要求在命令行中調用,仍是極度的不友好。因此此次但願可以完善一下,主要實現三個目標:功能整合、提供GUI、打包成exe。linux
仍舊使用python,通過一番調研決定使用pyqt開發GUI。git
##2 安裝##github
個人本本是mac,一直以來也以爲mac(或者linux)比windows更適合於開發,因此此次的代碼工做依舊在mac os上進行。windows
爲了使用pyqt,須要在mac上具有這些條件:app
###2.1 Xcode###工具
這個不用多說了,用過Xcode開發過的人都應該據說過,沒有的話裝一個便可。post
###2.2 Qt###開發工具
到Qt官網上下載安裝便可,若是不清楚使用哪個,能夠考慮個人選擇。.net
###2.3 SIP###
下載完畢後解壓並在命令行中進入該目錄,執行如下代碼。
cd sip-4.16.8/ python configure.py make sudo make install
###2.4 PyQt4###
固然如今pyqt最新的版本應該是5點幾了,不過個人需求應該pyqt4就能夠知足。
下載完畢後解壓並在命令行中進入該目錄,執行一下代碼。
cd PyQt-mac-gpl-4.11.4/ python configure.py make sudo make install
###2.5 參考###
完成以上四個步驟,即可以在mac os中使用pyqt4了(固然,你還得裝了python),進入python而後試試import PyQt4吧,若是能成功導入說明一切順利。
其餘在mac os上安裝pyqt4的參考資料:
http://blog.csdn.net/watsy/article/details/8857252
http://www.noktec.be/python/how-to-install-pyqt4-on-osx
##3 開發## 個人項目託管於Github,example文件夾裏面包含了一些pyqt4的教程例子,My_dear.py是最終的程序代碼,整合了考勤文件處理和Excel表格對比兩個功能。界面看起來大概是這樣(界面求不吐槽,畢竟不是產品,不用在意設計,功能實現就能夠啦!),左邊的列表裏的兩項即對應不一樣的標籤頁。
pyqt4的教程例子主要來源於這裏。
##4 打包##
若是隻是python代碼的話,別人的電腦上若是想運行就須要配置一樣的環境,因此最好打包成產品,別人運行起來只須要一個文件便可。
我使用PyInstaller進行項目打包,在mac os上使用pip便可安裝PyInstaller。
sudo pip install pyinstaller
接下來打包成在mac os上能夠直接運行的app格式,第一行命令生成打包中間文件My_dear.spec,第二行代碼處理該文件並完成打包。
pyinstaller --windowed --onefile --clean --noconfirm My_dear.py pyinstaller --clean --noconfirm --windowed --onefile My_dear.spec
固然也能夠打包成pkg或dmg等格式,參考這裏。
可這不是我要的效果,由於這個最終是要給妹子用的,妹子單位上班的地方用的臺式機裝的倒是windows,因此平臺差別的問題這時候浮現了出來,一開始就弄錯了開發平臺,由於mac os上開發的程序是不可能打包成exe的= =。
##5 出奇簡單的Windows##
因此轉戰到實驗室的windows臺式機上再次開發,卻發現此次windows的開發流程比mac os簡單多了。在windows上,有了python,若是想使用pyqt4,安裝一個軟件就夠了,裏面包含了你須要的一切!
下載地址在這裏,直接根據你的python版本和位數選擇exe便可。
安裝過程當中會默認選擇系統python安裝路徑,安裝完畢以後就能夠運行My_dear.py文件了。
至於windows下的打包,一樣可使用PyInstaller。和mac os不一樣的是,mac os中PyInstaller是python的一個包且可經過pip下載,而在windows中則須要人工下載源碼。
下載連接在這裏,下載完畢後解壓便可。在cmd中進入該目錄,使用如下命令便可完成打包(爲了方即可以把My_dear.py也拷貝至該目錄下)。
python pyinstaller.py [opts] My_dear.py
其中opts爲可選參數,主要包括:
因此對於個人GUI,參數的選擇是-Fw。
##6 總結##
在本次開發過程當中,出於我的習慣選擇了mac os做爲開發平臺,後面因爲導出exe的需求在windows上再次作了嘗試。總的來講,接觸並初步熟悉了pyqt4在mac os和windows上的部署和開發,以及用PyInstaller打包py程序的方法,仍是收穫良多的。