2015年3月15日 星期日

[Python] Learning Note 7 - py2exe

來記錄一下 py2exe 的實驗

1. 首先要找到給 python 3 使用的 py2exe

   可以在這個連結找到

   也有 64 bits 版本,此時的版本是 py2exe 0.9.2.2

2. 在上面那個連結,也可以看到一些教學

   安裝好 py2exe 後,可以到 python 安裝路徑下的 Scripts 資料夾

   會發現有 build_exe.exe 這個執行檔,可以按照教學來產生單一執行檔

   所使用的指令為

   之後就會產生一個 dist 資料夾,生成的 exe 檔就在裡面

   lib_pygame_mp3.py 是使用 pygame 所寫出來的一個程式,有讀圖、滑鼠操控以及播放mp3

   -c : 產生壓縮過後的 library

   --bundle-files # : # 可以是 0、1、2、3,預設是3。數字愈小,產生的檔案數目就愈少,用 0 

   的話,就是只產生一個 exe 而已

   官方的說明如下                               

    3 - create script.exe, python.dll, extensions.pyd, others.dll.

    2 - create script.exe,python.dll, others.dll.
 
    1 - create script.exe, others.dll.

    0 - create script.exe

   在連結裡也有更詳細的說明,可以去細看

   有一點要注意的是,在官方教學裡也有說,當使用 0 和 1 的時候,程式不一定能正確執行

   要自己做一下測試

   就測試結果,自己寫的這個程式,當使用 0 的時候,就無法正常執行了

3. 使用 py2exe

   一樣拿  lib_pygame_mp3.py 來實驗

   寫一個 setup.py (不一定要這個檔名)


    指令的詳細說明可以在這個連結找到

    options : 就是要下達的一些設定

              compressed : True or False。是否要產生壓縮後的 library

              bundle_files : 作用和第2點所做的說明一樣,有 0、1、2、3的選擇

    zipfile : 如果設為None,會讓原本產生的 library.zip直接塞進exe檔

    windows : 生成的 exe 檔案是一個視窗程式

              script : 原始檔,在這邊就是 lib_pygame_mp3.py
                    
              icon_resources : 產生出來 exe 檔的圖示,非必要,純粹實驗玩玩。前面那個數字

                               似乎沒什麼作用,看官方說明也是這樣

              dest_base : 產生出來的 exe 的名字

    version : 版本

    然後再使用 cmd 輸入以下指令來生成 exe

    python  setup.py  py2exe

   會產生一個 dist 資料夾,裡面就是生成的 exe 檔以及一些必要的檔案


參考資料

1. http://franks543.blogspot.tw/2009/07/py2exe.html

沒有留言:

張貼留言