用PyInstaller將python程序轉成exe文件執行

2021-02-20 python運維技術

最近剛接手幾臺windows伺服器,寫了幾個自動備份數據的python腳本,要放到windows下去執行,一般來說如果要windows能執行python腳本,第一要在windows機器上安裝python ,另外還要配置windows環境變量能讓腳本執行,如果1~2臺windows還好,如果上百臺都要安裝python,然後在設置環境變量,估計要瘋,當然如果再寫一個安裝程序、部署環境變量,我估計也不是不可能,不過總體來說還是比較麻煩,本著在windows伺服器上軟體能不裝就不多裝的原則,把寫好的.py文件直接轉成exe可執行文件,直接放到windows系統中進行執行不就可以了麼,那如何轉換成exe 呢, 我之前只聽說可以用py2exe,所以就上網找了些文檔看了下,發現操作還是相對比較複雜,就想找更簡單的方法,經過不懈努力發現,終於讓我找到了今天的主角PyInstaller,匆忙掃了一遍官網內容,發現真的比較牛X,現在的版本目前支持py2.7和3.3+,可以支持不同系統,而且方便使用,我就把整個過程給大家介紹下:

安裝:

1、方式一可以通過pip 或easy_install 來進行安裝,這種方式會省去很多其它麻煩,在安裝的時候需要的pywin32-219.win32-py2.7.exe依賴包也會自動被安裝。

2、通過下載打包的程序文件安裝,這種安裝前要先手動下載pywin32-219.win32-py2.7.exe,下載地址http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/,下載完成後雙擊安裝。

然後下載PyInstaller, 下載地址:https://pypi.python.org/pypi/PyInstaller/

完成後解壓,進入目錄PyInstaller-3.0內(我下載的是最新的版本PyInstaller-3.0.tar.gz),在cmd中進入該目錄,然後在cmd中運行命令:

python setup.py install

注意,如果你不是windows,linux,mac os ,你要多建立一個bootloader,因為我是windows環境,所以我沒用到,具體官網原文:

For platforms other than Windows, Linux and Mac OS, you must first build a bootloader program for your platform: see Building the Bootloader. After the bootloader has been created, use python setup.py install with administrator privileges to complete the installation.

到此PyInstall就安裝完畢了。

腳本編寫:

編寫pyhon腳本,命名為echo.py, 因為是測試,所以我簡單些了一個,主要是為演示方便:

import time

def hell():

print 'hello py'

for i in range(100):

print i

time.sleep(5)

if __name__ == '__main__':

hell()

之所以寫一個循環,是為方便看到執行的過程,如果不sleep,可能一霎哪就過去了,自己都不知道執行沒執行。

生成exe文件:

將echo.py 拷貝到PyInstaller-3.0目錄下,打開cmd進入PyInstaller-3. 0目錄,在cmd環境下執行:

pyinstaller.py -F echo.py

執行運行.py文件,記得添加環境變量,執行完畢你可以在 發現在當前目錄下多了一個echo目錄,進入後再進入dist目錄中,發現已生成echo.exe文件,這個文件就是可執行文件,可以拷貝到其它機器上去執行。

參數介紹:

-F, --onefile Create a one-file bundled executable.

-p DIR, --paths=DIR

A path to search for imports (like using PYTHONPATH). Multiple paths are allowed, separated by ':', or use this option multiple times

其中-p 指定導入的模塊。

其中m3.ico是從網上下載的圖標圖片,是美國隊長的一個卡通版圖,運行完後再看看生成的echo.py文件圖標,是不是有種定製的感腳,今天就寫到這裡了,睡覺了,明天早起。寫到這本來是要完了,不過我發現生成的程序圖標是默認的,沒有特色,又看了看文檔,發現可以自定義程序圖標,心裡一陣竊喜,分享如下:

pyinstaller.py -F echo.py -i m3.ico

相關焦點

  • 【python學習第七篇】Python 程序打包成 exe 可執行文件
    PyInstaller 其實就是把 python 解析器和你自己的腳本打包成一個可執行的文件,和編譯成真正的機器碼完全是兩回事,所以千萬不要指望成打包成一個可執行文件會提高運行效率,相反可能會降低運行效率,好處就是在運行者的機器上不用安裝 python 和你的腳本依賴的庫。
  • 如何將 Python 程序打包成 .exe 文件?
    於是我想是不是可以將我的程序打包成可執行文件,直接運行?就像這樣:helloPython 程序都是腳本的方式,一般是在解析器裡運行,如果要發布出去,需要提前安裝解析器才可以運行,為了在 Windows 裡方便發布,只要點擊一個 EXE 文件運行,並且打包所需要庫文件,這樣發布給用戶使用就會更方便。
  • Python腳本轉exe可執行文件
    這樣不管到哪裡,只要打開exe文件,就可以運行我們的程序了。當然有,這樣的包有很多(py2exe、pyinstaller等)這裡我們選擇pyinstaller。下面就來將這個腳本文件變成一個獨立運行的exe,首先還是打開控制臺(CMD),然後切換到該文件所在的目錄下,(注意:路徑及文件名不要含有中文,否則會報錯)
  • Python文件打包成exe可執行程序
    背景 有時寫的Python程序需要交給業務人員使用,但業務人員電腦上基本都沒有安裝Python,並且業務人員也不會使用命令行,所以就需要把
  • python將.py文件打包成.exe可執行文件
    網上介紹的將python文件打包成exe文件的模塊主要有三個:py2exe,pyinstaller,cxfreeze三種。
  • Python安裝擴展庫與打包成exe可執行文件的方法
    程序打包成exe程序之後可以在沒有安裝Python解釋環境的Windows平臺上運行。Python程序打包常用的是py2exe工具,假設有Python程序文件CheckAndViewAutoRunsInSystem.py,現在編寫setup.py文件,內容為:import distutilsimport py2exedistutils.core.setup(console=['CheckAndViewAutoRunsInSystem.py
  • pyinstaller打包Python文件為exe方法
    打包好的文件在dist文件夾內,裡面有很多文件,多為程序運行的動態庫這是由於pyinstaller沒有加參數時默認為 -D:創建一個目錄,裡面包含exe以及其他一些依賴性文件這樣沒有達到我們目的,打包是加上-F:打包成一個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打包exe應用程式-PyInstaller
    ,從而允許最終用戶在無需安裝 Python 的情況下執行應用程式。準備需要的文件我們的tree文件夾放在c盤的fac.ico 程序的圖標tree.py 是python文件4.使用Pyinstaller使用默認Pyinstaller打包方式打開cmd窗口,把路徑切換到當前路徑打開命令提示行
  • py2exe:輕鬆將 Python 程序打包成 exe
    上回在《如何將 Python 程序打包成 .exe  文件?》
  • 為了產品經理(老師),我把程序打包成了exe可執行文件!
    我總不能在老師電腦上安裝Python,讓老師自己去運行.py文件吧!老師想要的是雙擊就能運行的小工具。那麼,怎麼才能把我們寫好的Python文件轉化為exe可執行文件呢?藉助這個機會,我學習了一下pyinstaller打包文件的模塊。
  • Python實現貪吃蛇小遊戲!!pyinstaller打包成exe!
    pygame允許你在 Python 程序中創建功能豐富的遊戲和多媒體程序,是一個高可移植性的模塊可以支持多個作業系統,用它來開發小遊戲非常適合。pip install pygame -i http://pypi.douban.com/simple --trusted-host pypi.douban.com利用python的pygame第三方庫和面向對象編程的方法,實現簡單的貪吃蛇小遊戲,還可用pyinstaller打包成exe,方便自己想玩的時候直接點開或者分享給別人
  • 如何將 Python 程序打包成exe文件?
    1)安裝pyinstaller,在cmd中輸入以下代碼  安裝遇到問題,看以下三篇文章嘗試解決 比如,我的py文件所在文件夾是D:\ttt就先輸入d:再輸入cd 文件夾名字(具體我的文件夾就是寫cd ttt)
  • Python創建可以打開文件的EXE
    但是一個.ipynb文件用文本編輯器打開,多了很多我們不想看到的文本,而用jupyter打開又很慢。於是需要設置出一個可執行程序(exe文件)來打開.ipynb文件。>將python腳本轉化為exe程序比較常用的是兩個庫,py2exe和pyinstaller,由於前者不支持3.5及以上版本,操作也相對複雜,因此這裡選擇pyinstaller。
  • python文件轉換成可執行程序
    w(゚Д゚)w這時你只要把腳本文件轉換成可支持程序,就能直接在沒有python環境的電腦上暢快運行。第一步:檢查python腳本額,確保腳本無誤,避免做無用功第二步:按照pyinstaller庫pip install pyinstaller安裝如有問題,請自行度娘...
  • 一次學會兩種方式將 pyton 打成 exe
    python 可以做網站應用,也可以做客戶端應用。但是客戶端應用需要運行 py 腳本,如果用戶不懂 python 就是一件比較麻煩的事情。幸好 p幸好 pyton 有第三方模塊可以將腳本可以轉成 exe 執行。有些人可能要問了既然可以做成網站,為啥還要做成客戶端的,直接部署到伺服器給客戶不就可以了嗎?小編的回答是當然是為了追小姐姐呀。在公司給小姐姐寫點 python 腳本打包成 exe 減輕上班的工作量。再弄出點 bug,一來二去不就會產生故事了?
  • Python Pyinstaller-打包程序
    將Python腳本打包稱一個exe或者一個可運行的綠色程序,或者在linux中就是個可執行文件,不需要依賴Python環境了,很方便
  • 三個你必須要記住的Pyinstaller打包命令——利用Python實現打包exe
    但是呢,我們開發的腳本一般都會用到一些第三方包,可能別人也需要用到我們的腳本,如果我們將我們的xx.py文件發給他,他是不能直接用的,他還需要安裝python解釋器,甚至還要安裝我們用的那些第三方包,是不是有點小麻煩?但是我們都知道,PC是可以直接運行exe文件的,這就為我們提供了一個便捷的方式。所以,從看了這個教程以後,這都將成為過去式,打成exe之後,分享即可用。
  • 利用pyinstaller打包Python程序為一個可執行文件
    有時,Python發布的程序需要被打包為一個文件夾
  • 別再問我怎麼Python打包成exe了!
    但是呢,我們開發的腳本一般都會用到一些第三方包,可能別人也需要用到我們的腳本,如果我們將我們的xx.py文件發給他,他是不能直接用的,他還需要安裝python解釋器,甚至還要安裝我們用的那些第三方包,是不是有點小麻煩?但是我們都知道,PC是可以直接運行exe文件的,這就為我們提供了一個便捷的方式。