用cxfreeze打包Python3.3成exe文件
python 是一個非常非常優秀的編程語言,它最大的特性就是跨平臺。python程序幾乎可以在所有常見的平臺中進行使用,而且大部分無需修改任何代碼!不 過,python也有一點點小缺憾(這個是由于自身本質決定,不能叫缺憾,不過在這就這么稱呼吧),那就是python程序的執行必須要有解釋器的參與。 那么python的程序如何在沒有解釋器的平臺上使用呢?很簡單,將python程序打包成exe可執行文件即可!
在python中比較常用的python轉exe方法有三種,分別是cx_freeze,py2exe,PyInstaller。py2exe恐怕是三者里面知名度最高的一個,但是同時相對來說它的打包質量恐怕也是最差的一個。pyinstaller打包很好,但是操作工序較為復雜。so個人還是推薦cx_freeze,本次所用的是4.3 32bit。
首先:cx_freeze下載地址:http://sourceforge.net/projects/cx-freeze/files/
接著,介紹一下cx_freeze的使用方法。
第一步:檢查cx_freeze是否安裝正確。
運行cmd,切換到cxfreeze.bat,然后執行 "cxfreeze -h" 看看能否出效果
如果安裝正確,如圖顯示
如果顯示的如下圖片,請查看一下你的python安裝路徑
修改路徑的辦法
打開你的python安裝文件夾,例如我的python安裝文件夾在G盤,
那么用記事本打開G:\python\Scripts\cxfreeze.bat
如圖
修改路徑到自己的安裝路徑
然后保存,關閉記事本,重新檢驗,看看是否正確。
第二步:如果安裝正確,那么接下來的事情就非常簡單了
命令解釋:hello.py 是你要打包的主文件、啟動文件
Dist為要目標文件夾,打包后會生成dist目錄,里面就有打包后的可執行文件。
注意:
-
只能指定一個要打包的模塊,也就是啟動模塊
-
所有.py文件都不能有中文字符,否則會出現編碼異常。
-
發布后,可執行文件執行路徑不能有中文(最好也不要有空格)。
-
啟動執行的文件中不要有下面這種判斷,否則可執行文件執行會沒有任何效果。
if __name__ == "__main__":
main() -
打包成功的圖片:
-
-
雙擊生成的exe文件可以使用了是不是很高興呢?怎么覺得啟動的時候后面有個黑糊糊的窗口不舒服?那你在生成命令里面加個參數吧!例子:
cxfreeze hello.py --target-dir dist --base-name=123
注意:
1、將exe放到其他機子上運行,彈出“找不到msvcr100.dll“。手動將”msvcr100.dll“拷貝到dist目錄下即可。也許是cxfreeze的bug
來自:http://huangda-hd.blog.163.com/blog/static/81808426201361741158158/