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

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

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

前言

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

pyinstaller簡介

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

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

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

pyinstaller下載

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

安裝:

pip install pyinstaller

下載完成后,運行pyinstaller -h,顯示如下則安裝成功。

pyinstaller使用

準備好程序代碼

這里以一個簡單的python程序為例,新建一個a.py文件,內容如下:

import fire

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

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

打包程序

常用到的命令:

標題參數說明
-Fpyinstaller -F a.py在dist目錄下生成一個可執(zhí)行文件
-Dpyinstaller -D a.py在dist目錄中,除了可執(zhí)行文件,還會生成依賴文件

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

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

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

運行一下試試:./dist/a 你好

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

結果如預期,打包就完成了。接下來我們將dist目錄給到需要的人就行了。

小結

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

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

相關文章

  • Python解析網頁源代碼中的115網盤鏈接實例

    Python解析網頁源代碼中的115網盤鏈接實例

    這篇文章主要介紹了Python解析網頁源代碼中的115網盤鏈接實例,主要采用了正則表達式re模塊來實現該功能,需要的朋友可以參考下
    2014-09-09
  • python語言開發(fā)垃圾回收機制原理教程

    python語言開發(fā)垃圾回收機制原理教程

    這篇文章主要為大家介紹了python語言開發(fā)垃圾回收機制原理的教程有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • Python使用Turtle庫繪制一棵西蘭花

    Python使用Turtle庫繪制一棵西蘭花

    今天小編就為大家分享一篇Python使用Turtle庫繪制一棵西蘭花,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Opencv Python實現兩幅圖像匹配

    Opencv Python實現兩幅圖像匹配

    這篇文章主要為大家詳細介紹了Opencv Python實現兩幅圖像匹配,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 解決運行出現''dict'' object has no attribute ''has_key''問題

    解決運行出現''dict'' object has no attribute ''has_key''問題

    這篇文章主要介紹了快速解決出現class object has no attribute ' functiong' or 'var'問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python筆記之使用fillna()填充缺失值

    python筆記之使用fillna()填充缺失值

    這篇文章主要介紹了python筆記之使用fillna()填充缺失值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • python實現水印圖片功能

    python實現水印圖片功能

    這篇文章主要為大家詳細介紹了python實現水印圖片功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python二進制轉化為十進制數學算法詳解

    Python二進制轉化為十進制數學算法詳解

    這篇文章主要介紹了Python二進制轉化為十進制數學算法,同時在這里也給大家分享一個好用的內置函數map(),需要的朋友可以參考下
    2023-01-01
  • Python機器學習應用之基于LightGBM的分類預測篇解讀

    Python機器學習應用之基于LightGBM的分類預測篇解讀

    這篇文章我們繼續(xù)學習一下GBDT模型的另一個進化版本:LightGBM,LigthGBM是boosting集合模型中的新進成員,由微軟提供,它和XGBoost一樣是對GBDT的高效實現,原理上它和GBDT及XGBoost類似,都采用損失函數的負梯度作為當前決策樹的殘差近似值,去擬合新的決策樹
    2022-01-01
  • python Dataframe 合并與去重詳情

    python Dataframe 合并與去重詳情

    這篇文章主要介紹了python Dataframe 合并與去重詳情,文章圍繞主題展開詳細的內容介紹,具有一定參考價值,需要的朋友可以參考一下
    2022-08-08

最新評論