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

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

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

1、pyinstaller的說明:

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

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

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

2、pyinstaller的安裝

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

3、打包命令

pyinstaller [項目啟動文件]

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

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

3.1、將項目和代碼打包多個文件的命令

windows下:

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

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

命令:

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

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

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

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

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

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

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

# -*- 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=[], # 此列表為項目絕對路徑
    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, # 打包的時候進行壓縮,F(xiàn)alse表示不壓縮
    console=False, #此處console=True表示,打包后的可執(zhí)行文件雙擊運行時屏幕會出現(xiàn)一個cmd窗口,不影響原程序運行,如不需要執(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目錄里,不然程序無法運行?。。?/strong>

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

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


block_cipher = None


a = Analysis(
    ['main.py'],
    pathex=[], # 此列表為項目絕對路徑
    binaries=[],
    datas=[('./src/','./src'),# 將源碼輸入進dist文件夾中,以保證程序正常運行
    ('./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, # 打包的時候進行壓縮,F(xiàn)alse表示不壓縮
    console=False, #此處console=True表示,打包后的可執(zhí)行文件雙擊運行時屏幕會出現(xiàn)一個cmd窗口,不影響原程序運行,如不需要執(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

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

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

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

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

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

運行結(jié)果:

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

大功告成?。。?/p>

Mac下:

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

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

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

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

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

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

Python使用最新版pyinstaller將項目或程序打包成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

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

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

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

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

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

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

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

相關(guān)文章

  • selenium操作谷歌瀏覽器,驅(qū)動使用最新版113版本,啟動程序報403解決方式

    selenium操作谷歌瀏覽器,驅(qū)動使用最新版113版本,啟動程序報403解決方式

    最近我將谷歌瀏覽器更新到最新版本【113.0.5672.127】,那么我們平時敲代碼或者干測試的朋友知道,我們selenium的操作驅(qū)動版本也得提升到對應(yīng)的,不然操作不了,但是我今天將兩者都升級到最新版本后,啟動程序依舊啟動不了,為了解決該問題特有此博客產(chǎn)出,這里是java的

    2024年02月14日
    瀏覽(102)
  • Xshell 提示 “要繼續(xù)使用此程序,您必須應(yīng)用最新的更新或使用新版本“的解決方案

    Xshell 提示 “要繼續(xù)使用此程序,您必須應(yīng)用最新的更新或使用新版本“的解決方案

    要想解決Xshell提示更新最新版問題,有兩種方案。 方案一:手動修改系統(tǒng)時間 步驟如下: 右鍵右下角時間,彈出如下窗口: 2 選中【調(diào)整日期/時間(A)】,并點擊,彈出如下頁面 更改時間,更改成之前的年份,如下圖: 更改成功后,再打開相應(yīng)的應(yīng)用(Xshell),即可成功打

    2023年04月10日
    瀏覽(22)
  • 如何在macOS上使用最新版的Bison來構(gòu)建項目,而不是Xcode工具鏈內(nèi)嵌的2.3版本

    在很多項目的編譯中需要使用 Bison,而且版本需要至少為 3.0,不然會出現(xiàn)以下錯誤。 這時候你可能使用 brew install bison 安裝了最新版的 Bison,但是還是會有這個問題。 解決這個問題有兩種方案: 讓手動安裝版本在環(huán)境變量 PATH 的位置在 Xcode 安裝的版本前面; 手動指定一下

    2024年02月09日
    瀏覽(28)
  • 微信小程序新版隱私協(xié)議彈窗實現(xiàn)最新版

    微信小程序新版隱私協(xié)議彈窗實現(xiàn)最新版

    2023.08.22更新:【原文連接】 以下指南中涉及的 getPrivacySetting、onNeedPrivacyAuthorization、requirePrivacyAuthorize 等接口目前可以正常接入調(diào)試。調(diào)試說明: 在 2023年9月15號之前,在 app.json 中配置 __usePrivacyCheck__: true 后,會啟用隱私相關(guān)功能,如果不配置或者配置為 false 則不會啟用。

    2024年02月10日
    瀏覽(98)
  • 2023最新版IDEA 創(chuàng)建javaweb項目(圖文詳細)

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

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

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

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

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

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

    要在Ubuntu上安裝最新版本的Python,你可以按照以下步驟進行: 首先,打開終端并更新包列表: 然后,你需要安裝一些依賴的軟件包來構(gòu)建Python源碼。可以使用下面的命令來安裝這些依賴: 接下來,從Python官方網(wǎng)站下載最新版本的源代碼。你可以從這個鏈接 https://www.python.o

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

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

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

    2024年02月13日
    瀏覽(19)
  • 【最新版全插件】多功能同城優(yōu)選小程序源碼

    【最新版全插件】多功能同城優(yōu)選小程序源碼

    1.為本地的線下商家提供線上銷售渠道。一直以來本地商品、娛樂、休閑、旅游服務(wù)線上購買大家都是以美團為準(zhǔn)。近幾年來隨著微信公眾號、小程序的滲透力逐漸加強,越來越多的用戶開始把消費渠道改到公眾號應(yīng)用、小程序上。因為美團是大而粗,什么商品都能上,也不

    2024年02月09日
    瀏覽(20)
  • 最新版微信小程序授權(quán)登錄(自定義頭像昵稱)

    最新版微信小程序授權(quán)登錄(自定義頭像昵稱)

    ????????根據(jù)官方微信小程序開發(fā)關(guān)于登錄授權(quán)API的調(diào)整,自 2022年10月25日起有關(guān)API接口獲取用戶頭像將統(tǒng)一返回默認(rèn)灰色頭像,昵稱將統(tǒng)一返回 “微信用戶”。(如下圖所示) ? ? ? ? button標(biāo)簽中將open-type=\\\"chooseAvatar\\\"是用來設(shè)置用戶頭像,并且獲得一個臨時路徑。 js代

    2024年02月12日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包