題外話:
今天在群里有人問到自己打包exe文件報錯的問題,也借這個機會順便學習下把python程序打包成EXE的方法。
這里只是記錄一下,防止自己遺忘,也方便以后翻看;
如果能幫到一些同仁,那就更好了!
說明
(開發)系統環境:
python版本:
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:40:30) [MSC v.1500 64 bit (AMD64)] on win32
測試環境:
詳細的打包過程
1. 下載安裝py2exe, 注意選擇版本(python2.7)和系統類型(64bit) http://www.lfd.uci.edu/~gohlke/pythonlibs/#py2exe
pip install py2exe-0.6.10a1-cp27-none-win_amd64.whl
2. 創建文件夾py2exedemo,然后在里面編寫兩個程序utils.py, hello.py 內容如下:
""" utils.py """ def note(): name = raw_input("Please input you name:") print "Welcome ", name
""" hello.py""" from utils import note def mysum(n): s = 0 for i in range(n): s += i return s if __name__ == "__main__": note() print mysum(100) # used to see a windows before end raw_input("End by input enter:")
3. 編寫打包程序exe_demo1.py:
""" exe_demo1.py""" from distutils.core import setup import py2exe import sys #this allows to run it with a simple double click. sys.argv.append('py2exe') options = { "py2exe": { "compressed": 1, "optimize": 2, "bundle_files": 1 } } setup( version = "1.0.0", description = "Compute sum(100)", name = "py2exe demo", options = options, zipfile = None, console=["hello.py"] )
4. 打包,在cmd中,進入到py2exedemo文件夾,運行如下命令:
python exe_demo1.py py2exe
5. 此時會在當前文件夾生成兩個文件夾dist, build
dist中包含了打包成的EXE文件hello.exe, 發布的時候連同dist文件夾一起發布即可。
6. 把dist文件夾拷貝到“說明”中的“測試環境”運行,發現能正常運行,至此完畢!
后記:
這個打包過程沒有牽涉到很復雜的邏輯,主要是為了表述打包的過程,歡迎各位同仁批評指正!