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

使用PyInstaller庫把Python程序打包成exe

 更新時(shí)間:2022年05月28日 09:32:20   作者:springsnow  
這篇文章介紹了使用PyInstaller庫把Python程序打包成exe的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、pyinstaller簡介

Python是一個腳本語言,被解釋器解釋執(zhí)行。它的發(fā)布方式:

  • .py文件:對于開源項(xiàng)目或者源碼沒那么重要的,直接提供源碼,需要使用者自行安裝Python并且安裝依賴的各種庫。(Python官方的各種安裝包就是這樣做的)

  • .pyc文件:有些公司或個人因?yàn)闄C(jī)密或者各種原因,不愿意源碼被運(yùn)行者看到,可以使用pyc文件發(fā)布,pyc文件是Python解釋器可以識別的二進(jìn)制碼,故發(fā)布后也是跨平臺的,需要使用者安裝相應(yīng)版本的Python和依賴庫。

  • 可執(zhí)行文件:對于非碼農(nóng)用戶或者一些小白用戶,你讓他裝個Python同時(shí)還要折騰一堆依賴庫,那簡直是個災(zāi)難。對于此類用戶,最簡單的方式就是提供一個可執(zhí)行文件,只需要把用法告訴Ta即可。比較麻煩的是需要針對不同平臺需要打包不同的可執(zhí)行文件(Windows,Linux,Mac,...)。

本文主要就是介紹最后一種方式,.py和.pyc都比較簡單,Python本身就可以搞定。將Python腳本打包成可執(zhí)行文件有多種方式,本文重點(diǎn)介紹PyInstaller。

PyInstaller的原理簡介

PyInstaller其實(shí)就是把python解析器和你自己的腳本打包成一個可執(zhí)行的文件,和編譯成真正的機(jī)器碼完全是兩回事,所以千萬不要指望成打包成一個可執(zhí)行文件會提高運(yùn)行效率,相反可能會降低運(yùn)行效率,好處就是在運(yùn)行者的機(jī)器上不用安裝python和你的腳本依賴的庫。在Linux操作系統(tǒng)下,它主要用的binutil工具包里面的lddobjdump命令。

PyInstaller輸入你指定的的腳本,首先分析腳本所依賴的其他腳本,然后去查找,復(fù)制,把所有相關(guān)的腳本收集起來,包括Python解析器,然后把這些文件放在一個目錄下,或者打包進(jìn)一個可執(zhí)行文件里面。

需要注意的是,PyInstaller打包的執(zhí)行文件,只能在和打包機(jī)器系統(tǒng)同樣的環(huán)境下。也就是說,不具備可移植性,若需要在不同系統(tǒng)上運(yùn)行,就必須針對該平臺進(jìn)行打包。

將.py源代碼轉(zhuǎn)換成無需源代碼的可執(zhí)行文件

pyInstalller下載網(wǎng)址

二、pyinstaller在windows下的安裝

使用命令pip install pyinstaller即可

pip install pyinstaller

在windows下,pyinstaller需要PyWin32的支持。當(dāng)用pip安裝pyinstaller時(shí)未找到PyWin32,會自動安裝pypiwin32。

三、打包

打包的app里并不包含任何源碼,但將腳本的.pyc文件打包了。

基本語法:

pyinstaller options myscript.py

常用的可選參數(shù)如下:

  • -D, --one-dir打包成一個文件夾,默認(rèn)
  • -F, --one-file打包成一個exe文件
  • -p DIR, --paths DIR添加路徑,一般用來添加程序所用到的包的所在位置
  • -c, --console, --nowindowed提供程序視窗,程序有輸入輸出的界面,默認(rèn)
  • -w, --windowed, --noconsole無視窗,程序后臺運(yùn)行
  • -i <FILE.ico or FILE.exe,ID or FILE.icns>, --icon <FILE.ico or FILE.exe,ID or FILE.icns>添加icon圖標(biāo)

pyinstaller --onefile --nowindowed  C:/PycharmProjects/untitled/hello.py

就會在當(dāng)前文件下形成build文件夾、dist文件夾和.spec文件。
dist里就是guess_exe.exe可執(zhí)行文件。

如果有打包錯誤,具體看build里的warn***.txt文檔,里面詳細(xì)記載了錯誤的原因。一般都是庫丟失。
spec文件告訴PyInstaller如何去處理腳本。它對腳本名以及大多數(shù)pyinstaller的可選參數(shù)進(jìn)行加密。PyInstaller就是通過執(zhí)行spec文件的內(nèi)容來build the app。

四、pyinstaller常見錯誤

用pyinstaller生成exe時(shí)報(bào)錯 TypeError: an integer is required (got type bytes)

TypeError: an integer is required (got type bytes)

解決辦法:報(bào)錯前的pyinstaller是用 pip install pyinstaller 來安裝的,改成用 pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz 再安裝一次。

到此這篇關(guān)于使用PyInstaller庫把Python程序打包成exe的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何用Pytorch搭建一個房價(jià)預(yù)測模型

    如何用Pytorch搭建一個房價(jià)預(yù)測模型

    這篇文章主要介紹了用Pytorch搭建一個房價(jià)預(yù)測模型,在這里我將主要討論P(yáng)yTorch建模的相關(guān)方面,作為一點(diǎn)額外的內(nèi)容,我還將演示PyTorch中開發(fā)的模型的神經(jīng)元重要性,需要的朋友可以參考下
    2023-03-03
  • Python實(shí)現(xiàn)調(diào)度算法代碼詳解

    Python實(shí)現(xiàn)調(diào)度算法代碼詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)調(diào)度場算法代碼詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • 快速進(jìn)修Python指南之文件操作

    快速進(jìn)修Python指南之文件操作

    這篇文章主要為大家介紹了Java開發(fā)者快速進(jìn)修Python指南之文件操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 通過實(shí)例簡單了解Python中yield的作用

    通過實(shí)例簡單了解Python中yield的作用

    這篇文章主要介紹了通過實(shí)例簡單了解Python中yield的作用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 利用Python分析一下最近的股票市場

    利用Python分析一下最近的股票市場

    這篇文章主要為大家介紹了利用Python分析一下最近的股票市場的實(shí)現(xiàn)過程,數(shù)據(jù)獲取范圍為2022年一月一日到2022年2月25日,感興趣的可以了解一下
    2022-02-02
  • 利用Python查看目錄中的文件示例詳解

    利用Python查看目錄中的文件示例詳解

    這篇文章主要給大家介紹了關(guān)于利用Python查看目錄中的文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • python單向循環(huán)鏈表實(shí)例詳解

    python單向循環(huán)鏈表實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了python單向循環(huán)鏈表實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 網(wǎng)易有道2017內(nèi)推編程題 洗牌(python)

    網(wǎng)易有道2017內(nèi)推編程題 洗牌(python)

    這篇文章主要為大家詳細(xì)介紹了網(wǎng)易有道2017內(nèi)推編程題:洗牌,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 使用Gitee自動化部署python腳本的詳細(xì)過程

    使用Gitee自動化部署python腳本的詳細(xì)過程

    小編最近在自學(xué)python,在學(xué)習(xí)過程中有好多意向不到的收獲,真的很開心,今天重點(diǎn)給大家分享使用Gitee自動化部署python腳本的詳細(xì)過程,包括安裝環(huán)境搭建及一些注意事項(xiàng),感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • python 鏡像環(huán)境搭建總結(jié)

    python 鏡像環(huán)境搭建總結(jié)

    這篇文章主要介紹了python 鏡像環(huán)境搭建總結(jié),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09

最新評論