將python項(xiàng)目打包成exe與安裝包的全過(guò)程
更新時(shí)間:2021年11月16日 12:38:03 作者:General_zy
Python唯二的難題運(yùn)行速度和源代碼反編譯,一直是被眾多語(yǔ)言所詬病,下面這篇文章主要給大家介紹了關(guān)于如何將python項(xiàng)目打包成exe與安裝包的相關(guān)資料,需要的朋友可以參考下
一.打包Flask項(xiàng)目
1.1自己寫(xiě)個(gè)Flask
2.2 下載pyinstaller
pip install pyinstaller
可選參數(shù) | 示例 | 說(shuō)明 |
---|---|---|
-F |
pyinstaller -F demo.py |
只在dist文件夾中生成一個(gè)程序demo.exe文件,適用于一個(gè)模塊沒(méi)有多依賴(lài).py文件 |
-D |
pyinstaller -D demo.py |
默認(rèn)選項(xiàng),除了主程序demo.exe外,還會(huì)在在dist文件夾中生成很多依賴(lài)文件,推薦使用這個(gè) |
-c |
pyinstaller -c demo.py |
默認(rèn)選項(xiàng),只對(duì)windows有效,使用控制臺(tái) |
-w |
pyinstaller -w demo.py |
只對(duì)windows有效,不使用控制臺(tái) |
-p |
pyinstaller -p D:\project\demo.py |
設(shè)置導(dǎo)入路徑 |
-i |
pyinstaller -i D:\demo.ico demo.py |
給生成的demo.exe文件設(shè)置一個(gè)自定義的圖標(biāo) |
2.3 進(jìn)入到項(xiàng)目路徑下,執(zhí)行
# run.py 是flask項(xiàng)目的執(zhí)行文件,app.run所在py文件 pyinstaller -D run.py # 可以看到項(xiàng)目路徑下有 -build文件夾 -dist文件夾:重要,下有run文件夾(py文件名字),有個(gè)run.exe(py文件的名字) -run.spec # 把pro_flask這個(gè)文件夾,拷貝到dist下的run文件夾 -因?yàn)閒lask項(xiàng)目有靜態(tài)文件和html文件,如果不拷貝過(guò)去,靜態(tài)文件和html文件會(huì)找不到 -我們?yōu)榱穗[藏代碼,可以把所有python的代碼都刪除,只留static和templates文件夾
2.4 運(yùn)行exe,測(cè)試
# 到dist/run文件夾下,雙擊 run.exe,啟動(dòng) 如下圖 # 瀏覽器訪問(wèn) 如下圖
二.使用nsis把文件夾打包成windows的安裝包
2.1 下載安裝nsis
nsis:NSIS(Nullsoft Scriptable Install System)是一個(gè)開(kāi)源的 Windows 系統(tǒng)下安裝程序制作程序,它提供了安裝、卸載、系統(tǒng)設(shè)置、文件解壓縮等功能。這如其名字所指出的那樣,NSIS 是通過(guò)它的腳本語(yǔ)言來(lái)描述安裝程序的行為和邏輯的 利用 nsis 把剛剛的dist的run文件夾打包成windows的安裝包
2.2把dist文件夾下的run文件夾壓縮成zip
2.3使用nsis把壓縮包,做成windows安裝文件
總結(jié)
到此這篇關(guān)于將python項(xiàng)目打包成exe與安裝包的文章就介紹到這了,更多相關(guān)python打包exe與安裝包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬取qq空間說(shuō)說(shuō)的實(shí)例代碼
這篇文章主要介紹了Python爬取qq空間說(shuō)說(shuō)的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-08-08Python網(wǎng)絡(luò)編程之使用email、smtplib、poplib、imaplib模塊收發(fā)郵件
這篇文章介紹了Python使用email、smtplib、poplib、imaplib模塊收發(fā)郵件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05python實(shí)現(xiàn)提取jira bug列表的方法示例
公司要求內(nèi)部每日整理jira bug發(fā)郵件,手動(dòng)執(zhí)行了一段時(shí)間,想著用自動(dòng)化的方式實(shí)現(xiàn),所以本文主要介紹了python實(shí)現(xiàn)提取jira bug列表,感興趣的可以了解一下2021-05-05python實(shí)現(xiàn)小世界網(wǎng)絡(luò)生成
今天小編就為大家分享一篇python實(shí)現(xiàn)小世界網(wǎng)絡(luò)生成,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Django 如何從request中獲取前端數(shù)據(jù)
這篇文章主要介紹了Django從request中獲取前端數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04