python打包程序py2exe實戰


最近在學python,所以用python寫了個腳本,車位管理系統(嘿嘿,我在大學的時候用php做過一套系統,還獲過獎呢)
但是這個程序現在還有太大的局限性,要使用就要先安裝python環境比較麻煩

所以我就想先把程序打包發布,常用的就是py2exe打包,所以打算這次也用它。好了,開始。。。。
准備工作:
安裝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 = "車位管理系統",  
15     zipfile=None,
16     console=[{"script": "park.py", "icon_resources": [(1, "logo.ico")] }],
17     )

 

具體的option和其它的選項是什么含意可以search一下,網上非常多的資料,我就不贅述了
下一步,運行命令:

1 python setup.py py2exe

編譯完成后會在當前目錄下生成一個dist目錄,里面有park.exe文件,不過執行時並不成功
出現如下錯誤:

 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

在網上找了下解決方案,問題出在了lxml庫。

不能正確找到路徑,因為是lxml第三方庫,要多加一條指令指定路徑;將編譯命令改為

1 python setup.py py2exe -p lxml,gzip

 

這里還多加了gzip,原因同lxml一樣
最后執行生成的文件有park.exe和python27.dll,只要把這兩個文件放到一個文件夾,然后就可以在任何一台電腦上運行啦。哈哈。有了這個工具我們就可以用python做一些好用的小工具給自己和朋友們用了。。。順便給大家推薦一個python學習的網站http://www.pythontab.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM