如何將python3.6軟體的py檔案打包成exe程式__python

來源:互聯網
上載者:User

      在我們完成一個Python項目或一個程式時,希望將Python的py檔案打包成在Windows系統下直接可以啟動並執行exe程式。在瀏覽網上的資料來看,有利用pyinstaller和cx_Freeze進行打包的方法。關於cx_Freeze打包的方法,可以參考wangdamozhizhou部落格windows下cx_Freeze產生Python可執行程式中的方法。由於方法主要是可以用於Python3.3版本的,高於該版本的Python無法使用。在我嘗試的過程中,碰到的一個問題是:

安裝cx_Freeze-4.3.3,找不到cxFreeze.bat

解決的方法是,在cmd命令列操作下,切換至放置cx_Freeze-4.3.3檔案的Python安裝目錄下scripts目錄下,使用以下代碼自動產生:

python cxfreeze-postinstall

由於我安裝的Python版本是3.6.2版本的,版本相對較新,cx_Freeze還沒有更新版本至3.6版本。在我嘗試很多次數失敗後,決定採用pyinstaller來進行檔案打包的方法。

下載pyinstaller 採用命令列操作的辦法 在cmd命令列中,輸入代碼:

pip install pyinstaller
或者採用更新、升級的方法:
pip install --upgrade pyinstaller
採用下載檔案+cmd操作的辦法 首先,前往PyInstaller網站下載:http://www.pyinstaller.org/downloads.html
      下載時,要注意你安裝的Python是多少版本的,有穩定版和不穩定版的,Python3.6隻有不穩定版本的。其中綠色方框的是適用於linux作業系統下的,紅色方框是適用於Windows系統下的。 進行解壓縮、放置和安裝 下載後,將壓縮檔解壓縮在Python安裝目錄下,進入該檔案:
該目錄中含有setup.py,同時在cmd中進入該目錄:
輸入命令:
python setup.py install
並按下斷行符號鍵,會看到代碼迅速執行,會進行安裝pyinstaller,顯示如下狀態,看到“Finished processing dependencies for PyInstaller==3.3.dev0+41c426f6d”,即安裝成功:
使用pyinstaller打包py檔案成exe程式 打包檔案成exe程式 將cmd的目錄切換至(命令:cd 檔案路徑(注意空格))需要打包的py檔案目錄下:
並輸入代碼,格式為使用命令:pyinstaller -F 檔案名稱(帶尾碼py):
pyinstaller -F test.py
常用參數 說明:
–icon=表徵圖路徑
-F 打包成一個exe檔案
-w 使用視窗,不控制台
-c 使用控制台,無視窗
-D 建立一個目錄,裡麵包含exe以及其他一些依賴性檔案
pyinstaller -h 來查看參數
斷行符號後,代碼迅速操作,直到操作結束。


返回目標檔案目錄,發現該目錄下產生了.spec檔案test.spec:
打包好的exe檔案,在同目錄的dist檔案中:
由此,py檔案打包好為exe檔案。 pyinstaller 改變產生exe程式的表徵圖
pyinstaller -F --icon=my.ico test.py
my.ico 是一個表徵圖名,和當前的test.py檔案在同一個目錄下

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.