国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python】項目打包:如何使用PyInstaller打包python程序(exe)

這篇具有很好參考價值的文章主要介紹了【Python】項目打包:如何使用PyInstaller打包python程序(exe)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。


前言

常用python的開發(fā)者現(xiàn)在也是很多的,用python可以做很多事情,如果涉及到python桌面開發(fā)一定會使用PyInstaller將程序打包成執(zhí)行程序,如果要求更高的話還會再次封裝成安裝程序(工具inno setup)。
執(zhí)行程序就是復(fù)制到其他電腦可以直接運(yùn)行,不需要安裝配置python環(huán)境。
安裝程序就是我們?nèi)粘0惭b的軟件,會指引下一步安裝,可以選擇安裝位置。


一、PyInstaller

PyInstaller是一個在Windows、GNU/Linux、macOS等平臺下將Python程序凍結(jié)(打包)為獨(dú)立可執(zhí)行文件的工具, 用于在未安裝Python的平臺上執(zhí)行Python編寫的應(yīng)用程序。其實(shí)主要還是看參數(shù)如何使用。

二、安裝PyInstaller庫

本片博客是使用清華pip源安裝。官方文檔請看PyInstaller。

pip install PyInstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/

三、PyInstaller的使用

本博客主要介紹2種方式,這2種方式都會生成.spec文件,PyInstaller就是以spec文件來完成打包工作的。

1.命令行+參數(shù)

這是我們常用的方式,也是很多人百度得到的結(jié)果,大多數(shù)都是直接服用他人的命令和參數(shù)。

代碼如下(示例):

# 基礎(chǔ)命令
pyinstaller myscript.py
# 初次打包建議添加-c參數(shù),可以同過cmd黑窗口查看打包問題
pyinstaller -c myscript.py
# 生成一個單獨(dú)的exe文件,適合無文件操作的程序
pyinstaller -F myscript.py
# 生成一個單獨(dú)的exe文件,適用windows系統(tǒng),適合無文件操作的程序,下面2個是一樣的效果。
pyinstaller -F -w myscript.py
pyinstaller -F --windowed myscript.py
# 生成一個文件夾,文件夾中包含exe執(zhí)行程序,適合有一定文件夾或文件的操作程序。
pyinstaller -D --windowed myscript.py

# 針對文件生成的最終位置,使用--distpath=參數(shù)指定
pyinstaller -D --windowed --distpath='C:\Users\lenovo\PycharmProjects\程序打包文件' myscript.py
# 針對文件生成的exe文件名字,使用--name=TYQT參數(shù)指定
pyinstaller -D --windowed --distpath='C:\Users\lenovo\PycharmProjects\程序打包文件' --name='TYQT' myscript.py
# 針對文件生成的exe的圖標(biāo),使用--icon=參數(shù)指定,zaiwindows系統(tǒng)下,需要使用ico圖標(biāo),如果是png直接百度在線轉(zhuǎn)
pyinstaller -D --windowed --distpath='C:\Users\lenovo\PycharmProjects\程序打包文件' --name='TYQT' --icon='icon.ico' myscript.py
# 針對exe程序以來的文件夾和文件,使用--add-data(比如.txt)和--add-binary(程序可能依賴其他.exe命令)參數(shù)指定
# --add-data和--add-binary參數(shù)實(shí)際是2個文件,在windows是通過;分號區(qū)分復(fù)制前和后的,在linux的符號是:。
# 下邊的語句就是將項目的data/excel/訂單記錄表.xlsx文件復(fù)制到C:\Users\lenovo\PycharmProjects\程序打包文件\myscript\data\excel文件夾下,myscript\data\excel會自動創(chuàng)建。
pyinstaller -D --windowed --distpath='C:\Users\lenovo\PycharmProjects\程序打包文件' --name='TYQT' --icon='icon.ico' --add-data=data/excel/訂單記錄表.xlsx;./data/excel myscript.py

2.py文件+參數(shù)

2.1配置文件config.py

這里以pyqt5項目為例,myscript.py是我們的程序,就是將myscript.py打包成執(zhí)行程序exe。
在main.py文件同級有配置文件config.py,內(nèi)容如下:

import os
import logging

from pathlib import Path

# 1.根目錄
BASE_DIR = Path(__file__).resolve().parent  # os.path.abspath('.')和os.getcwd() 在Linux上只能獲取到/home/ubuntu目錄

Data_path = os.path.join(BASE_DIR, 'data')
if not os.path.isdir(Data_path):
    os.mkdir(Data_path)
# 2.Excel資源文件夾
Excel_Explorer = os.path.join(Data_path, 'excel')
if not os.path.isdir(Excel_Explorer):
    os.mkdir(Excel_Explorer)
print('Excel_Explorer', Excel_Explorer)
# 6.日志
log_path = os.path.join(BASE_DIR, 'logs')
if not os.path.isdir(log_path):
    os.mkdir(log_path)
logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S',
                    filename=os.path.join(log_path, 'log.log'),
                    filemode='a')
logger = logging.getLogger()

2.2打包文件pyTexe.py

在main.py文件同級創(chuàng)建pyTexe.py文件,內(nèi)容如下:

# -*- coding:utf-8 _*-
"""
@author:lenovo
@file: pyTexe.py
@time: 2023/3/15  9:24
"""
import os.path

import PyInstaller.__main__

from config import BASE_DIR

PyInstaller.__main__.run([
    'main.py',
    '--icon=' + os.path.join(BASE_DIR, 'imgs', 'icon.ico'),
    '--name=TYQT',
    '-w',  # windows系統(tǒng)
    '-D',
    '--add-data=data/excel/訂單記錄表.xlsx;./data/excel',
    '--add-data=README.md;.',
    '--distpath=' + r'C:\Users\lenovo\PycharmProjects\TYCQT\TYQT\程序打包文件',
    # '--paths=' + r'C:\Users\lenovo\PycharmProjects\TYCQT\venv\Lib\site-packages',
])

# 參數(shù):雙--后跟=
# -F: 創(chuàng)建單文件捆綁可執(zhí)行文件,只生成exe文件
# -w: 執(zhí)行系統(tǒng):windows
# -D: 創(chuàng)建包含可執(zhí)行文件的單文件夾捆綁包(默認(rèn))
# -i: exe桌面圖標(biāo)
# -v:版本號
# -c:顯示命令行窗口
# -h:顯示幫助
# --name=要分配給捆綁應(yīng)用和規(guī)范文件的名稱 (默認(rèn)值:第一個腳本的基本名稱)
# --add-data= <>;要添加到可執(zhí)行文件的其他非二進(jìn)制文件或文件夾。
# --add-binary= <>;要添加到可執(zhí)行文件的其他二進(jìn)制文件。
# --copy-metadata=復(fù)制指定包的元數(shù)據(jù)。
# –-distpath=指定打包后的程序存放目錄,默認(rèn)存放在當(dāng)前目錄下的(新建的)dist目錄
# –-workpath=為輸出的所有臨時文件指定存放目錄
# --python-option=python解釋器
# --paths=搜索導(dǎo)入庫的路徑(如使用PYTHONPATH)
# --hiddenimport=將python隱藏的包主動打包
# --exclude-module=忽略指定的包

2.3 執(zhí)行pyTexe.py

如果是cmd 窗口,切換至項目目錄下,執(zhí)行python pyTexe.py命令,會生成.spec文件,并創(chuàng)建了程序打包文件文件夾。

python pyTexe.py

四、exe附加參數(shù)執(zhí)行

main.py文件如下

import sys

if __name__ == '__main__':
	arg = sys.argv(1)
	print('arg',arg)

未打包前命令行執(zhí)行命令如下

python main.py arg

通過上述方法打包成exe后,通過命令行執(zhí)行命令如下

TYQT.exe arg  # arg為命令行參數(shù),在main.py中可以獲取,用于處理函數(shù)

總結(jié)

本博客記錄PyInstaller的使用,一方面是做個記錄方便日后使用,一方面是希望幫助同學(xué)少走彎路。文章來源地址http://www.zghlxwxcb.cn/news/detail-648231.html

到了這里,關(guān)于【Python】項目打包:如何使用PyInstaller打包python程序(exe)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Python】conda虛擬環(huán)境下使用pyinstaller打包程序?yàn)閑xe

    【Python】conda虛擬環(huán)境下使用pyinstaller打包程序?yàn)閑xe

    第一點(diǎn)是,pyinstaller打包需要指定程序中使用的庫的路徑,新手在這一點(diǎn)上很容易出現(xiàn)問題,導(dǎo)致打包后的exe程序執(zhí)行的時候顯示 缺少模塊 。這個問題可能并不能通過簡單地指定路徑來解決。 第二點(diǎn)就是使用虛擬環(huán)境本身的好處了: 可以創(chuàng)建多個不同的Python環(huán)境,每個環(huán)境

    2024年02月09日
    瀏覽(36)
  • 使用pyinstaller將具有多個python文件的項目打包為exe(含依賴庫)

    使用pyinstaller將具有多個python文件的項目打包為exe(含依賴庫)

    1、將需要打包有python文件放到一個文件夾,例如下圖所示的Demo文件夾,其中ClickEveryDay.py為主文件,telegram.ico為圖標(biāo)文件。 ??2、生成主函數(shù)對應(yīng)的spec文件 命令:在Demo文件夾路徑下使用:pyi-makespec ClickEveryDay.py,將產(chǎn)生一個ClickEveryDay.spec文件。 3、修改ClickEveryDay.spec文件:加

    2024年02月11日
    瀏覽(26)
  • Python PyInstaller將程序打包為exe程序

    Python PyInstaller將程序打包為exe程序

    1.執(zhí)行 pip install pyinstaller,結(jié)果如下圖? 2.然后執(zhí)行 pyinstaller -F -w Hello.py 執(zhí)行完之后會產(chǎn)生兩個目錄 在dist目錄下就是可執(zhí)行文件,雙擊即可看到效果

    2024年02月04日
    瀏覽(34)
  • 通過pyinstaller將python項目打包成exe執(zhí)行文件

    目錄 第一步:安裝pyinstaller 第二步:獲取一個ico圖標(biāo)(也即是自己這個exe文件最后的圖標(biāo)) 第三步:打包 pip install pyinstaller 先從這里獲取一個png圖片:iconfont-阿里巴巴矢量圖標(biāo)庫 再轉(zhuǎn)化成ico圖片(推薦256 x 256):PNG轉(zhuǎn)ICO - 在線轉(zhuǎn)換圖標(biāo)文件 ?可以把得到的ico圖片放在pytho

    2024年02月09日
    瀏覽(32)
  • python項目打包成exe可執(zhí)行文件(pyinstaller庫)

    python項目打包成exe可執(zhí)行文件(pyinstaller庫)

    前言:才入職新公司;進(jìn)來工作內(nèi)容,就是將之前的python腳本項目打包成.exe可執(zhí)行文件;一來方便不同崗位的同事之間使用,二來源碼信息不會改動和泄漏。 正因?yàn)閜ython具有豐富的第三方庫,目前已有數(shù)萬之多;這里用到的是 \\\'pyinstaller\\\'庫; 正文: 兩種情況: Ⅰ、單獨(dú)一個

    2024年02月06日
    瀏覽(24)
  • python打包Windows.exe程序(pyinstaller)

    python打包Windows.exe程序(pyinstaller) pip install pyinstaller 使用pip命令來安裝pyinstaller模塊。 -F: pyinstaller -F hello.py -p hello2.py -D: pyinstaller -D hello.py -p hello2.py -i : pyinstaller -i tb.ico -F hello.py -p hello2.py 其中前一個文件hello是主文件,后一個文件是會被調(diào)用到的文件,可以有多個。

    2024年02月13日
    瀏覽(29)
  • python中pyinstaller打包帶資源的程序-pgzreo

    本文使用創(chuàng)作助手。 PyInstaller是一個用于將Python腳本打包成可執(zhí)行文件的工具。它可以將Python腳本、模塊和依賴庫打包成獨(dú)立的可執(zhí)行文件,方便在沒有安裝Python解釋器的環(huán)境中運(yùn)行。下面是PyInstaller的詳細(xì)用法: 安裝PyInstaller: 使用pip安裝: pip install pyinstaller 使用conda安裝

    2024年04月11日
    瀏覽(23)
  • python pyinstaller spec文件 打包多個python文件為exe應(yīng)用程序

    python pyinstaller spec文件 打包多個python文件為exe應(yīng)用程序

    使用pyinstaller 單個文件打包 使用pyinstaller 多個文件打包 這里先看下項目文件結(jié)構(gòu): 編輯PaserAdapter_Test.spec文件 執(zhí)行打包命令(可指定輸出程序存放的路徑) 假設(shè)使用默認(rèn)路徑 指定程序存放路徑 如果在windows系統(tǒng)打包,則dist下會有對應(yīng)的.exe程序,此時可脫離其他源文件獨(dú)自

    2024年02月16日
    瀏覽(32)
  • PyInstaller 完美打包 Python 腳本,輸出結(jié)構(gòu)清晰、便于二次編輯的打包程序

    PyInstaller 完美打包 Python 腳本,輸出結(jié)構(gòu)清晰、便于二次編輯的打包程序

    如果我要寫一個 Python 項目,打包成 exe 運(yùn)行(方便在沒有 Python 的電腦上使用),我需要打包出的根目錄結(jié)構(gòu)美觀,沒有多余的、雜亂的依賴文件在那里礙眼,而且需要在發(fā)現(xiàn) bug 時,我還需要能夠修改里面的代碼后,無需再次打包,就能正常運(yùn)行,該怎么做呢? 就以一個

    2024年02月07日
    瀏覽(17)
  • 【python】之pyinstaller模塊,python程序打包成一個可執(zhí)行exe 文件(超詳細(xì))!

    【python】之pyinstaller模塊,python程序打包成一個可執(zhí)行exe 文件(超詳細(xì))!

    PyInstaller是一個在Windows、GNU/Linux、macOS等平臺下將Python程序凍結(jié)(打包)為獨(dú)立可執(zhí)行文件的工具, 用于在未安裝Python的平臺上執(zhí)行Python編寫的應(yīng)用程序 使用pip接口進(jìn)行安裝 1.打開命令行: 切換到要轉(zhuǎn)換的python文件路徑,輸入上述指令。 (1)-F: 只生成一個單個文件(只有一個

    2024年02月12日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包