欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pyinstaller將python程序打包為可執(zhí)行文件

 更新時(shí)間:2022年08月17日 10:11:46   作者:芥末拌飯  
這篇文章主要介紹了pyinstaller將python程序打包為可執(zhí)行文件,pyinstaller是一個(gè)python打包工具,它將python程序及所需依賴(lài)都打包成一個(gè)可執(zhí)行文件

前言

對(duì)于專(zhuān)業(yè)的python程序員來(lái)說(shuō),python打包工具或許用得并不多。但是對(duì)于非專(zhuān)業(yè)人士來(lái)說(shuō),你給他寫(xiě)個(gè)python項(xiàng)目,要讓他安裝python、安裝依賴(lài)等等,估計(jì)人都會(huì)抓狂。或者說(shuō),如果你不想暴露自己的項(xiàng)目代碼,python打包工具就派上用場(chǎng)了,市面上有多種打包工具,這里就講講最常用的pyinstaller的使用方法吧。

pyinstaller簡(jiǎn)介

pyinstaller是一個(gè)python打包工具,它將python程序及所需依賴(lài)都打包成一個(gè)可執(zhí)行文件。

說(shuō)詳細(xì)點(diǎn)就是:輸入指定的python腳本,pyinstaller首先會(huì)分析腳本所依賴(lài)的其他腳本,查找后將所有腳本收集起來(lái)(包括python解釋器),最后將這些文件放到一個(gè)目錄下,或者是打包到一個(gè)可執(zhí)行文件中。打包后我們只需要執(zhí)行可執(zhí)行文件即可,無(wú)需再安裝繁雜的python環(huán)境。

需要注意的是,pyinstaller不是交叉編譯器。就是說(shuō)如果你要將python程序打包成一個(gè)能在windows運(yùn)行的文件,那么你只能在windows上使用pyinstaller來(lái)完成打包過(guò)程,而不能在其他系統(tǒng)如linux、macos上打包。

pyinstaller下載

首先,因pyinstaller支持python的版本需>=3.7,所以我們要確保在python3.7或更新的版本上使用。

安裝:

pip install pyinstaller

下載完成后,運(yùn)行pyinstaller -h,顯示如下則安裝成功。

pyinstaller使用

準(zhǔn)備好程序代碼

這里以一個(gè)簡(jiǎn)單的python程序?yàn)槔?,新建一個(gè)a.py文件,內(nèi)容如下:

import fire

def print_msg(msg):
    print("print here:", msg)

if __name__ == "__main__":
    fire.Fire(print_msg)

打包程序

常用到的命令:

標(biāo)題參數(shù)說(shuō)明
-Fpyinstaller -F a.py在dist目錄下生成一個(gè)可執(zhí)行文件
-Dpyinstaller -D a.py在dist目錄中,除了可執(zhí)行文件,還會(huì)生成依賴(lài)文件

這里使用第一種方式來(lái)生成文件,執(zhí)行pyinstaller -F a.py

執(zhí)行后,我們可在當(dāng)前目錄下看到多了幾個(gè)文件/目錄,分別是a.spec、build目錄、dist目錄。

  • .spec文件:記錄的是打包參數(shù)等信息,也可以預(yù)先準(zhǔn)備好spec文件直接打包。
  • build目錄:記錄的是打包所產(chǎn)生的文件,我們可忽略。
  • dist目錄:放的是可執(zhí)行文件及依賴(lài),例子中dist目錄下的a文件就是可執(zhí)行文件。
$ ls
a.py a.spec build/ dist/
$ ls dist
a

運(yùn)行一下試試:./dist/a 你好

$ ./dist/a 你好
print here: 你好

結(jié)果如預(yù)期,打包就完成了。接下來(lái)我們將dist目錄給到需要的人就行了。

小結(jié)

這里簡(jiǎn)單介紹了pyinstaller的使用方法,在我們需要打包python程序的時(shí)候,pyinstaller是不二之選。特別需要注意的是,pyinstaller不能跨系統(tǒng)使用哦。

到此這篇關(guān)于pyinstaller將python程序打包為可執(zhí)行文件的文章就介紹到這了,更多相關(guān) python打包可執(zhí)行文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python wxauto 庫(kù)解鎖微信自動(dòng)化的無(wú)限可能(示例代碼)

    Python wxauto 庫(kù)解鎖微信自動(dòng)化的無(wú)限可能(示例代碼)

    wxauto庫(kù)是基于Python的一個(gè)自動(dòng)化工具,它主要用于操作和自動(dòng)化WxPython應(yīng)用程序,這篇文章主要介紹了Python wxauto 庫(kù)解鎖微信自動(dòng)化的無(wú)限可能,需要的朋友可以參考下
    2024-07-07
  • python切片及sys.argv[]用法詳解

    python切片及sys.argv[]用法詳解

    Sys.argv[]是用來(lái)獲取命令行參數(shù)的,sys.argv[0]表示代碼本身文件路徑,所以參數(shù)從1開(kāi)始。下面通過(guò)實(shí)例代碼給大家介紹python切片及sys.argv[]用法,需要的朋友參考下吧
    2018-05-05
  • python新式類(lèi)和經(jīng)典類(lèi)的區(qū)別實(shí)例分析

    python新式類(lèi)和經(jīng)典類(lèi)的區(qū)別實(shí)例分析

    這篇文章主要介紹了python新式類(lèi)和經(jīng)典類(lèi)的區(qū)別,結(jié)合實(shí)例形式分析了python新式類(lèi)和經(jīng)典類(lèi)的功能、區(qū)別與使用方法,需要的朋友可以參考下
    2020-03-03
  • Python虛擬環(huán)境virtualenv創(chuàng)建及使用過(guò)程圖解

    Python虛擬環(huán)境virtualenv創(chuàng)建及使用過(guò)程圖解

    這篇文章主要介紹了Python虛擬環(huán)境virtualenv創(chuàng)建及使用過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • python3排序的實(shí)例方法

    python3排序的實(shí)例方法

    在本篇文章里小編給大家整理的是一篇關(guān)于python3排序的實(shí)例方法,有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-10-10
  • Django 序列化的具體使用

    Django 序列化的具體使用

    django rest framework 中的序列化組件,本文主要介紹了Django 序列化的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 如何在python中使用selenium的示例

    如何在python中使用selenium的示例

    這篇文章主要介紹了如何在python中使用selenium的示例,selenium提供了一個(gè)通用的接口,可模擬用戶(hù)來(lái)操作瀏覽器,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Python正則表達(dá)式使用范例分享

    Python正則表達(dá)式使用范例分享

    本文給大家總結(jié)了7個(gè)常用的Python正則表達(dá)式的使用范例以及簡(jiǎn)單解釋分析,有需要的小伙伴可以參考下
    2016-12-12
  • 如何用Python繪制棒棒糖圖表

    如何用Python繪制棒棒糖圖表

    這篇文章主要介紹了如何用Python繪制棒棒糖圖表,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-05-05
  • Python如何使用xlrd和xlwt庫(kù)讀寫(xiě)excel文件

    Python如何使用xlrd和xlwt庫(kù)讀寫(xiě)excel文件

    這篇文章主要介紹了Python如何使用xlrd和xlwt庫(kù)讀寫(xiě)excel文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評(píng)論