首页 > 编程语言 >python如何打包成应用

python如何打包成应用

时间:2023-10-16 17:11:21浏览次数:42  
标签:可执行文件 PyInstaller python 程序 Python 文件夹 应用 打包

使用pyinstall如何把python代码打包成exe可执行文件的步骤、并简要介绍打包原理,最后又介绍了一个简单用例和一个带客户端界面的用例。

 

简介:

PyInstaller 将 Python 应用程序及其所有依赖项捆绑到一个包中。用户无需安装Python解释器或任何模块即可运行打包的应用程序。PyInstaller 支持 Python 3.7 及更高版本,并正确捆绑许多主要的 Python 包,例如 numpy、matplotlib、PyQt、wxPython 等。

安装命令:

pip install -U pyinstaller

打包原理

PyInstaller 读取编写的 Python 脚本,它分析代码以发现脚本执行所需的所有其他模块和库,然后它会收集所有这些文件的副本 - 包括活动的 Python 解释器!并将它们与您的脚本放在一个文件夹中,或者可选地放在一个可执行文件中。

如何查找程序的依赖项

python脚本需要哪些模块和库才能运行?(这些有时被称为“依赖项”。)PyInstaller 会查找import脚本中的所有语句。它查找导入的模块并在其中查找import 语句,如此递归,直到获得脚本可能使用的模块的完整列表。

程序如何运行

打包的程序始终在 PyInstaller 引导加载程序中开始执行。consoles(是下一小节的用例名词)这是文件夹中可执行文件的核心。PyInstaller 引导加载程序是适用于Windows、GNU/Linux、macOS 等平台的的二进制可执行程序。当用户启动程序时,引导加载程序就会运行。引导加载程序会创建一个临时的 Python 环境,以便 Python 解释器在该consoles文件夹中找到所有导入的模块和库。引导加载程序启动 Python 解释器的副本来执行您的脚本。只要包含所有必要的支持文件,一切都会正常进行。

 

快速使用

在command界面输入pyinstaller.exe -h 可以看到详细的使用方法

 

简单用例:

创建一个非常简单的测试用例 one_file_main.py 

# pip install -U pyinstaller

import time

if __name__ == '__main__':
    print("开始测试")
    for i in range(1, 101):
        print("count", i)
        time.sleep(0.5)

  

# 输入打包命令 pyinstaller.exe -F .\demo2.py

 可以看到打包成功之后,生成了两个文件夹:

(1)build文件夹里存放了打包过程的临时文件。

(2)dict文件夹存放了生成的可执行文件和其依赖,由于样例比较简单,依赖项较少。

运行可执行文件,则会打印执行结果

 

 

标签:可执行文件,PyInstaller,python,程序,Python,文件夹,应用,打包
From: https://www.cnblogs.com/pywen/p/17767803.html

相关文章

  • Python实现PDF转换文件格式
    最近工作中经常遇到收到其他人提供的pdf文档,想要编辑修改下或者复制部分内容比较困难,想通过现有的pdf工具软件转换文档格式,基本都要充钱,为了免费实现pdf转换工具,网上查了下相关技术方案,整理了下代码,测试真实有效,分享下。 第一步,安装相关第三方库pipinstallPyMuPDF-ihttps:......
  • python - bleak的低功耗蓝牙设备连接
    1.接收蓝牙日志可以用手机拨号##5959##打开蓝牙调试然后使用对应的手机app先使用对应的蓝牙产品2.蓝牙日志分析将手机上的蓝牙日志文件(btsnoop_hci.log)拷贝到电脑上使用wireshark打开,主要是看发送和接收的数据,以下是某体重秤3.寻找设备importasynciofrombleakimp......
  • 了解容器运行时安全:保护你的容器应用
    前言容器是一种虚拟化技术,用于封装和运行应用程序及其依赖项,以便在不同的计算环境中保持一致性和可移植性。自2013年容器诞生至今,容器Docker镜像的下载量超20亿,虽然容器行业发展如火如荼,但是其安全风险却不容乐观,据《Sysdig2022云原生安全和使用报告》显示,超过75%的运行容器存在......
  • HDPE-高密度双壁波纹管材常用的应用领域有哪些?
    HDPE-高密度双壁波纹管材是一种由高密度聚乙烯制成的管材,具有特殊的波纹结构。HDPE-高密度双壁波纹管材常用的应用领域有:市政工程:可用于排水、排污管。建筑工程:用于建筑物雨水管、地下排水管、排污管、通风管。电气工程:可用于各种动力电缆的保护管公路、铁路通讯:用于通讯电缆、光缆......
  • python create_future
      importasyncioasyncdefmain():loop=asyncio.get_running_loop()future=loop.create_future()print("Futurecreated:",future)awaitasyncio.sleep(1)future.set_result("Hello,World!")print("Resul......
  • redis集群的简单应用
    1、创建集群#创建redis示例dockerrun-d--nameredis-node-1--nethost--privileged=true-v/data/redis/share/redis-node-1:/dataredis:6.0.8--cluster-enabledyes--appendonlyyes--port6381dockerrun-d--nameredis-node-2--nethost--privileged=tru......
  • Python爬虫:抖音 JS XB逆向解析
    哈喽兄弟们,抖音现在有JS加密,以前的方法爬不了饿了,今天来实现一下某音短视频的JS逆向解析。知识点动态数据抓包`在这里插入代码片`requests发送请求X-Bogus 参数逆向环境模块python 3.8               运行代码pycharm 2022.3           辅......
  • Chiplet封装技术的应用现状
    这是IC男奋斗史的第39篇原创本文1651字,预计阅读4分钟。接上文:Chiplet解决芯片技术发展瓶颈Chiplet封装的产品介绍以下介绍几款国内外使用Chiplet封装技术的代表产品,包括CPU、GPU和ASIC芯片。1.苹果M1-UltraCPU:2022年3月9日,苹果推出自研的M1-Ultra处理器芯片,通过UltraFusio......
  • Python处理Request请求
    一、HTTP知识:request请求方式有GET/POST/PUT/PATCH/DELETE/COPY/HEAD/OPTIONS/LINK/VIEW等常用的request请求有:get和post两种形式。1.GET用于获取资源,当采用GET方式请求指定资源时,被访问的资源经服务器解析后立即返回响应内容。通常以GET方式请求特定资源时,请求中不应该......
  • HarmonyOS/OpenHarmony原生应用开发-华为Serverless服务支持情况(四)
    文档中的TS作者认为就是ArkTS之意。一、云存储AppGalleryConnect(简称AGC)云存储是一种可伸缩、免维护的云端存储服务,可用于存储图片、音频、视频或其他由用户生成的内容。借助云存储服务,您可以无需关心存储服务器的开发、部署、运维、扩容等事务,大大降低了应用使用存储的门槛,让您可......