關於python打包成exe的一點經驗之談

我常常用python寫些腳本什麼的,有時候腳本寫完之後,每次運行都得在IDE打開在運行,很麻煩,因此常常將python編譯成exe.SO...有了一點經驗,在這和你們分享一下。
     python 打包成exe 主要有兩種,一種是py2exe,另外一種即是pyInstaller,以前我是用py2exe的,可是我後來發現py2exe存在問題:1,打包好的 exe只能在相同的系統下運行,好比你在XP系統用py2exe打包好的exe只能在XP上運行,在win7上確定有問題,並且也是存在在別的XP機子上也可能不能運行,由於一些別的機子可能會缺乏dll文件什麼的,做者我當時之因此拋棄py2exe 也是由於這個緣由;2,打包的文件也須要打包同exe下的dll,和一些庫的壓縮包,否則exe根本跑不起來 html

     因此做者強烈建議你們在python打包的話使用pyInstaller,在這我主要同你們分享pyInstaller的打包方法.
     話很少說,開始.....
     pyInstaller是一款用於將pyhon程序打包成exe文件的工具,pyInstaller不是一個python的包, 只須要把pyInstaller的文件下載下來放到任意爲止均可以,也就是說pyInstaller至關於獨立出來專門幹打包python的工具,這貨是工具不是庫,也不是包...
     1.下載安裝pyinstaller,下載網址:http://www.pyinstaller.org/去下載,而後解壓到任意目錄.(注意:在pyinstaller2.0以前的版本要是移動這個文件夾的話,須要改一些配置,否則pyinstaller會由於你的移動不能使用.這個和後面的配置環境有關.pyinstaller2.0的版本就沒有限制.)
     2.編譯配置環境(以解壓到F:盤爲例子)
        ①, pyinstaller-2.0的方法:
             打開cmd cd進入解壓後的目錄下的sorce下,即:cd  F:\pyinstaller-2.0\source
             運行 python ./waf configure build install
             *(可能須要安裝pywin32.下載並安裝便可,從新運行命令便可) python

        ②,  pyinstaller-1.5
              打開cmd cd進入pyinstaller解壓目錄,cd  F:\pyinstaller-1.5                  
              運行   python Configure.py
              *(可能須要安裝pywin32.下載並安裝便可,從新運行命令便可)
              結果提示保存在config.dat文件中。其中config.dat文件存放在pyinstaller的根目錄。
     3. 將本身寫的py程序打包exe
          ①, pyinstaller-2.0的方法:
               將本身寫的py文件(HelloWorld.py)拷貝到pyinstaller解壓目錄下,
               打開cmd cd進入解壓後的目錄下,即:cd  F:\pyinstaller-2.0\
               運行命令 python pyinstaller.py [opts] yourprogram.py
               在此處則是運行:python pyinstaller.py [opts] HelloWorld.py
               在目錄下會生成一個helloworld的文件夾,裏面存放 HelloWorld.spec文件,;兩個文件夾(dist,buildi),能夠運行的exe則放在/dist/yourprogram下工具

          ②,  pyinstaller-1.5
                將本身寫的py文件(HelloWorld.py)拷貝到pyinstaller解壓目錄下,
                打開cmd cd進入解壓後的目錄下,即:cd  F:\pyinstaller-1.5\
                pyinstaller-1.5和 pyinstaller-2.0 的區別來了。
                在 pyinstaller-1.5 中你先須要生成spec文件,而後經過spec文件在生成exe文件,而 pyinstaller-2.0 在執行命令(請看上面)後會同時吧exe和spec文件都生成出來了
                因此在 pyinstaller-1.5 你得先生成spec文件:
                python Makespec.py  [opts] yourprogram.py
                    運行命令: python Makespec.py  [opts] HelloWorld.py
                此時在此目錄下生成的 HelloWorld文件夾,文件夾下有一個 HelloWorld.spec文件,將文件在拷貝到目錄(F:\pyinstaller-1.5\)下
                   運行命令: python Build.py HelloWorld.spec
     4.你會發現按照上面的方法在/yourprogram/dist/yourprogram下除了須要的exe文件,也存在不少dll文件,而後你會開始抱怨做者我坑爹了吧....
        哈哈,若是你這麼發現了,說明,你已經完成用最基礎的pyinstaller打包了,關於如何pyinstaller請往下看:
        無論是pyinstaller-1.5仍是pyinstaller-2.0,要想打包成一個文件,或者將文件的圖標修改等等操做,這些都與你在運行命令時有關係,還記得命令是什麼嗎?
           pyinstaller-2.0 是:
               python pyinstaller.py [opts] yourprogram.py
           pyinstaller-1.5 是:
               python Makespec.py  [opts] yourprogram.py
          那些打包成一個文件,或者將文件的圖標修改等等操做都和這個 [opts] 有關係.
          下面舉些例子(客官一看便知,以 pyinstaller-2.0爲例子,1.5通用):
                ①, 打包成一個文件:
                         python pyinstaller.py --onefile  yourprogram.py
                ②,修改exe的圖標(D:\BabyWandH\src\faviconw.ico爲圖標的存放路徑):
                          python pyinstaller.py --onefile  --icon=D:\BabyWandH\src\faviconw.ico   yourprogram.py
             [opts]的一些說明(具體能夠看pyinstaller官網http://www.pyinstaller.org/expor ... talling-pyinstaller):ui

相關文章
相關標籤/搜索