最近在學(xué)python,所以用python寫了個(gè)腳本,但是這個(gè)程序現(xiàn)在還有太大的局限性,要使用就要先安裝python環(huán)境比較麻煩。
所以我就想先把程序打包發(fā)布,常用的就是py2exe打包,所以打算這次也用它。好了,開始。。。。
1、進(jìn)入python程序所在文件夾,如下圖
2、在文件夾下寫一個(gè)setup.py的python文件,內(nèi)容如下
3、打開CMD窗口,將工作目錄切換到python文件所在文件夾,并輸入命令“python setup.py py2exe"
4、命令成功完成后,進(jìn)入原python文件的文件夾下可看到新產(chǎn)生了兩個(gè)文件夾,如圖
5、進(jìn)入dist文件夾,里面的example.exe就是我們需要的windows程序。
準(zhǔn)備工作:
安裝py2exe編寫setup.py代碼如下:
1 #-*-coding: UTF-8-*-
2 from distutils.core import setup
3 import py2exe
4 # Powered by www.pythontab.com
5 INCLUDES = []
6 options = {"py2exe" :
7 {"compressed" : 1,
8 "optimize" : 2,
9 "bundle_files" : 2,
10 "includes" : INCLUDES,
11 "dll_excludes": [ "MSVCP90.dll", "mswsock.dll", "powrprof.dll","w9xpopen.exe"] }}
12 setup(
13 options = options,
14 description = "車位管理系統(tǒng)",
15 zipfile=None,
16 console=[{"script": "park.py", "icon_resources": [(1, "logo.ico")] }],
17 )
具體的option和其它的選項(xiàng)是什么含意可以search一下,網(wǎng)上非常多的資料,我就不贅述了
下一步,運(yùn)行命令:
1 python setup.py py2exe
編譯完成后會在當(dāng)前目錄下生成一個(gè)dist目錄,里面有park.exe文件,不過執(zhí)行時(shí)并不成功
出現(xiàn)如下錯(cuò)誤:
1 Traceback (most recent call last): 2 File "park.py", line 4, in <module> 3 File "zipextimporter.pyo", line 82, in load_module 4 File "pyquery.pyo", line 9, in <module> 5 File "zipextimporter.pyo", line 82, in load_module 6 File "cssselectpatch.pyo", line 6, in <module> 7 File "zipextimporter.pyo", line 82, in load_module 8 File "lxml\cssselect.pyo", line 8, in <module> 9 File "zipextimporter.pyo", line 98, in load_module 10 File "lxml.etree.pyx", line 72, in init lxml.etree (src/lxml/lxml.etree.c:156121) 11 ImportError: No module named _elementpath
在網(wǎng)上找了下解決方案,問題出在了lxml庫。
不能正確找到路徑,因?yàn)槭莑xml第三方庫,要多加一條指令指定路徑;將編譯命令改為
1 python setup.py py2exe -p lxml,gzip
這里還多加了gzip,原因同lxml一樣
最后執(zhí)行生成的文件有park.exe和python27.dll,只要把這兩個(gè)文件放到一個(gè)文件夾,然后就可以在任何一臺電腦上運(yùn)行啦。哈哈。有了這個(gè)工具我們就可以用python做一些好用的小工具給自己和朋友們用了。。。