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

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

這篇具有很好參考價(jià)值的文章主要介紹了Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、pyinstaller的說明:

pyinstaller 能夠在 Windows、Linux、Mac 等操作系統(tǒng)下將 Python 源文件打包,通過對源文件打包, Python 程序可以在沒有安裝 Python 的環(huán)境中運(yùn)行,也可以作為一個(gè)獨(dú)立文件方便傳遞和管理。

PyInstaller 支持 Python 2.7 和 Python 3.3+??梢栽?Windows、Mac 和 Linux 上使用,但是并不是跨平臺(tái)的,而是說要是希望打包成 .exe 文件,需要在Windows 系統(tǒng)上運(yùn)行 PyInstaller 進(jìn)行打包工作;打包成 Mac App,需要在 Mac OS 上使用,Linux 也一樣,不能在一端上打另外兩端的包,還有 Mac m1 的打包不能給 Mac intel 的使用,相反也一樣,運(yùn)行會(huì)報(bào)錯(cuò):Error:Bad CPU type in executable。

pyinstaller 不需要自己寫 setup.py 文件,只需要在工作目錄中輸入打包命令即可。最后會(huì)生成 build 和 dist 文件夾,啟動(dòng)文件在 dist 文件夾下。

2、pyinstaller的安裝

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

3、打包命令

pyinstaller [項(xiàng)目啟動(dòng)文件]

其他參數(shù)(按需求選擇):

  • -F ? 表示在 dist 文件夾下只生成單個(gè)可執(zhí)行文件(內(nèi)部包含所有依賴),不加默認(rèn)會(huì)在 dist 生成一大堆依賴文件+可執(zhí)行文件。
  • -D? ?與 -F 相反用法
  • -w? 表示去掉控制臺(tái)窗口,如果你的程序是有界面的,可以不寫這個(gè)參數(shù)。但是測試情況下建議先加上這個(gè)參數(shù),因?yàn)槿绻虬怀晒?,運(yùn)行時(shí)報(bào)錯(cuò)信息會(huì)在控制臺(tái)上輸出,沒有控制臺(tái)就看不到報(bào)錯(cuò)信息。
  • -c? ?表示去掉窗框,使用控制臺(tái)
  • -p ? ?表示自己定義需要加載的類路徑,項(xiàng)目中包含多個(gè)自建模塊的時(shí)候需要加上 -p aaa.py -p bbb.py -p ccc.py
  • -i ? ? 表示可執(zhí)行文件的圖標(biāo),后面跟圖標(biāo)的路徑
  • --hidden-import? 后面跟模塊名如 queue,用于告訴打包程序某個(gè)模塊我用不著你不用打包進(jìn)去

3.1、將項(xiàng)目和代碼打包多個(gè)文件的命令

windows下:

項(xiàng)目結(jié)構(gòu):

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

命令:

pyinstaller -D main.py -i ./sources/人工智能.ico -w

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

?新增的文件:Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

?目標(biāo)exe的可執(zhí)行文件就在dist文件夾下:

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

?對上述生成的main.spec里的內(nèi)容進(jìn)行查看:

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['main.py'],
    pathex=[],
    binaries=[],
    datas=[],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='main',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=False,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon=['sources\\人工智能.ico'],
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='main',
)

下面是針對main.spec的說明:

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['main.py'], 
    pathex=[], # 此列表為項(xiàng)目絕對路徑
    binaries=[],
    datas=[],  # 此處可以添加靜態(tài)資源,格式為('SOURCE_DIR/TO/YOUR_FILES_PATH','TARGET_DIR_PATH/')
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='main', # 程序exe的名稱
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True, # 打包的時(shí)候進(jìn)行壓縮,F(xiàn)alse表示不壓縮
    console=False, #此處console=True表示,打包后的可執(zhí)行文件雙擊運(yùn)行時(shí)屏幕會(huì)出現(xiàn)一個(gè)cmd窗口,不影響原程序運(yùn)行,如不需要執(zhí)行窗口,改成False即可
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon=['sources\\人工智能.ico'], #程序圖標(biāo),要絕對路徑,也可以不是相對路徑
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='main', #程序文件夾名稱
)

更改main.spec文件:

注意:要將源碼復(fù)制到dist目錄里,不然程序無法運(yùn)行?。。?/strong>

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['main.py'],
    pathex=[], # 此列表為項(xiàng)目絕對路徑
    binaries=[],
    datas=[('./src/','./src'),# 將源碼輸入進(jìn)dist文件夾中,以保證程序正常運(yùn)行
    ('./sources/','./sources/'), # 靜態(tài)資源
    ('./source_dir/美女.png','./target_dir/')],# 此處可以添加靜態(tài)資源,格式為('SOURCE_DIR/TO/YOUR_FILES_PATH','TARGET_DIR_PATH/')

    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='Speech演講專用軟件', # 程序exe的名稱
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True, # 打包的時(shí)候進(jìn)行壓縮,F(xiàn)alse表示不壓縮
    console=False, #此處console=True表示,打包后的可執(zhí)行文件雙擊運(yùn)行時(shí)屏幕會(huì)出現(xiàn)一個(gè)cmd窗口,不影響原程序運(yùn)行,如不需要執(zhí)行窗口,改成False即可
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon=['sources\\人工智能.ico'], #程序圖標(biāo),要絕對路徑,也可以不是相對路徑
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='WebBrowserSpeech', #程序文件夾名稱
)

然后重新執(zhí)行下面的命令:

pyinstaller main.spec

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

?結(jié)果變成下面的:

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

?Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

運(yùn)行結(jié)果:

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件?

大功告成?。。?/p>

Mac下:

項(xiàng)目結(jié)構(gòu):

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

pyinstaller -D main.py -w -i ./sources/人工智能.icns

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件新增的文件:

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件?目標(biāo)mac上的可執(zhí)行文件就在dist文件夾下:

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

?更改main.spec文件:

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['main.py'],
    pathex=[],
    binaries=[],
    datas=[('./source_dir/美女.png','./target_dir/')],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='Speech演講專用軟件',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=False,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon=['sources/人工智能.icns'],
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='WebBrowserSpeech',
)
app = BUNDLE(
    coll,
    name='WebBrowserSpeech.app',
    icon='./sources/人工智能.icns',
    bundle_identifier=None,
)

然后執(zhí)行下面的命令:

pyinstaller main.spec

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件

?Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件文章來源地址http://www.zghlxwxcb.cn/news/detail-494583.html

到了這里,關(guān)于Python3.9使用最新版pyinstaller將項(xiàng)目或程序打包成exe或者mac中的可執(zhí)行文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 2023最新版IDEA 創(chuàng)建javaweb項(xiàng)目(圖文詳細(xì))

    2023最新版IDEA 創(chuàng)建javaweb項(xiàng)目(圖文詳細(xì))

    該教學(xué)主要針對各位剛剛接觸javaweb開發(fā)的小伙伴,各位學(xué)習(xí)java的朋友也難免會(huì)經(jīng)歷這個(gè)階段,都要從最基礎(chǔ)的servlet項(xiàng)目做起,它是 Java 進(jìn)軍 web 開發(fā)的第一款技術(shù),也是完全基于Java實(shí)現(xiàn),閑來無事寫出本篇文章在此記錄一下。 Java Web,是用Java技術(shù)來解決相關(guān)web互聯(lián)網(wǎng)領(lǐng)域的

    2024年02月01日
    瀏覽(23)
  • 2023最新版IDEA創(chuàng)建一個(gè)SpringBoot項(xiàng)目 (詳細(xì)教程)

    2023最新版IDEA創(chuàng)建一個(gè)SpringBoot項(xiàng)目 (詳細(xì)教程)

    springboot是我們java開發(fā)中最流行的框架之一,下面我們看看如何在idea中創(chuàng)建一個(gè)springboot項(xiàng)目。 Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的

    2024年02月04日
    瀏覽(22)
  • Ubuntu 安裝最新版python

    要在Ubuntu上安裝最新版本的Python,你可以按照以下步驟進(jìn)行: 首先,打開終端并更新包列表: 然后,你需要安裝一些依賴的軟件包來構(gòu)建Python源碼??梢允褂孟旅娴拿顏戆惭b這些依賴: 接下來,從Python官方網(wǎng)站下載最新版本的源代碼。你可以從這個(gè)鏈接 https://www.python.o

    2024年02月13日
    瀏覽(27)
  • 最新版ApiFox接口測試教程,20分鐘學(xué)會(huì),再結(jié)合項(xiàng)目實(shí)戰(zhàn)視頻教學(xué)

    最新版ApiFox接口測試教程,20分鐘學(xué)會(huì),再結(jié)合項(xiàng)目實(shí)戰(zhàn)視頻教學(xué)

    20分鐘學(xué)ApiFox接口測試工具,結(jié)合30個(gè)項(xiàng)目實(shí)戰(zhàn)講解! 掌握了http協(xié)議,就掌握了接口測試 筆者在網(wǎng)絡(luò)上看過不少接口測試教程,一上來就開始講怎么操作工具,而不告訴讀者為什么要這么操作。讀者可能照貓畫虎成功了,也可能操作失敗了但不知為何出錯(cuò)。 因此,本文作為

    2024年02月13日
    瀏覽(19)
  • pycharm—配置python解釋器【2023最新版】

    pycharm—配置python解釋器【2023最新版】

    嗨嗨,大家好啊,我是小曼~ 剛?cè)腴Tpython的伙伴們,一開始也會(huì)很多的問題。今天來給大家分享一下python新手必須學(xué)會(huì)的技巧 : pycharm中配置python解釋器 依次點(diǎn)擊file - settings 打開設(shè)置 依次點(diǎn)擊 project:Pythonproject → Python interpreter 依次選擇,點(diǎn)擊設(shè)置。 左邊 第一個(gè)是選擇Py

    2024年02月08日
    瀏覽(100)
  • 最新版Typora免費(fèi)使用教程心得

    最新版Typora免費(fèi)使用教程心得

    Typora是一個(gè)功能強(qiáng)大的文本編輯器,它的主要特點(diǎn)是它使用Markdown語言進(jìn)行編輯和排版。與其他文本編輯器不同的是,Typora的編輯界面具有非常簡潔和直觀的設(shè)計(jì),使得編輯和排版變得更加容易。 在本文中,我們將深入了解Typora的各個(gè)方面,并詳細(xì)介紹它的各種功能和優(yōu)點(diǎn)。

    2024年02月13日
    瀏覽(21)
  • 【2023年最新版】AndroidKiller使用教程

    【2023年最新版】AndroidKiller使用教程

    目錄 一、AndroidKiller簡介 二、AndroidKiller安裝 三、AndroidKiller使用 四、問題匯總: 1、AndroidKiller反編譯apk,再次打包安裝報(bào)錯(cuò):Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2] 2、反編譯的過程,遇到這個(gè)報(bào)錯(cuò):APK 反編譯失敗,無法繼續(xù)下一步源碼反編譯! ?編輯

    2024年02月08日
    瀏覽(28)
  • 2023 最新版IntelliJ IDEA 2023.1創(chuàng)建Java Web 項(xiàng)目詳細(xì)步驟(圖文詳解)

    2023 最新版IntelliJ IDEA 2023.1創(chuàng)建Java Web 項(xiàng)目詳細(xì)步驟(圖文詳解)

    如果需要學(xué)習(xí)使用spring-boot3搭建Java Web項(xiàng)目,請移步:2023 最新版IntelliJ IDEA 2023.1創(chuàng)建Java Web前(vue3)后端(spring-boot3)分離 項(xiàng)目詳細(xì)步驟(圖文詳解) 安裝什么的這里就不說了,都是傻瓜式的安裝,但是你需要知道安裝的位置,切記!切記! 使用版本:java 20.0.1 2023-04-18 官

    2024年02月05日
    瀏覽(22)
  • 【2023最新版】DataGrip使用MySQL教程

    【2023最新版】DataGrip使用MySQL教程

    目錄 ?一、安裝MySQL 二、安裝DataGrip 三、DataGrip使用MySQL 1. 新建項(xiàng)目 2. DataGrip連接MySQL 下載驅(qū)動(dòng)文件 填寫root+密碼 測試 成功 3. DataGrip操作MySQL 四、MySQL常用命令 1. 登錄 2. 幫助 3. 查詢所有數(shù)據(jù)庫 ????????MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),它是最流行和廣泛

    2024年02月09日
    瀏覽(33)
  • Podman安裝nacos使用(默認(rèn)最新版)

    Podman安裝nacos使用(默認(rèn)最新版)

    一,命令熟悉 --name : 命名容器的名稱. -d:表示在后臺(tái)運(yùn)行容器. -p:指定端口映射。如: 左邊的8848是宿主機(jī)的端口,右邊的8848是nacos容器內(nèi)部的端口。 docker.io/nacos/nacos-server:表示根據(jù)docker.io/nacos/nacos-server鏡像運(yùn)行容器。 --restart=always???? 表示啟動(dòng)的時(shí)候會(huì)啟動(dòng)相關(guān)容器插件

    2024年02月11日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包