• 使用Pyinstaller打包python成exe可执行文件


    1、安装pyinstaller

    pip install pyinstaller

    2、使用pyinstaller生成spec打包配置文件,程序文件名称,getprocess.py

    pyi-makespec getprocess.py

    3、会自动在当前目录生成getprocess.spec文件

    4、使用spec文件打包文件

    pyinstaller.exe -F .getprocess.spec

    5、-F 参数将程序打包成1个独立exe文件,打包后的文件在当前目录的dict目录内,只需要分发exe文件,如果不加-F参数,分发软件时需要连同资源文件一起分发。

    6、打包软件时增加资源文件,需要修改getprocess.spec内容,res为资源目录

    使用spec文件时,请提供一个列表,将文件描述为datas=参数的值Analysis数据文件列表是元组列表。每个元组都有两个值,两个值都必须是字符串:

    • 第一个字符串指定现在在此系统中的文件。
    • 第二个指定在运行时包含文件文件夹的名称

    7、参考:

    #Pyinstaller如何将资源文件一起打包至exe中
    #基本原理:Pyinstaller 可以将资源文件一起bundle到exe中,当exe在运行#时,会生成一个临时文件夹,程序可通过sys._MEIPASS访问临时文件夹中的#资源
    
    #官方说明:https://pythonhosted.org/PyInstaller/spec-files.html#spec-file-operation
    
    #测试案例功能描述,访问资源文件夹res/a.txt,并打印其内容。实现方法如下:
    
    #源码如下,比较简单,resource_path方法说明了如何使用sys._MEIPASS变量来访问临时文件夹中的资源
    
    #coding:utf-8
    import sys
    import os
    
    #生成资源文件目录访问路径
    def resource_path(relative_path):
        if getattr(sys, 'frozen', False): #是否Bundle Resource
            base_path = sys._MEIPASS
        else:
            base_path = os.path.abspath(".")
        return os.path.join(base_path, relative_path)
    
    currentpath = resource_path("res")
    #这里可以直接访问资源文件目录
  • 相关阅读:
    Day03_企业权限管理(SSM整合)
    Day02_企业权限管理(SSM整合)
    Day01_企业权限管理(SSM整合)
    MacOS下ElasticSearch学习(第一天)
    MacOS下Git安装及使用
    Hadoop 之 HDFS
    大数据采集、清洗、处理:使用MapReduce进行离线数据分析完整案例
    深入浅出爬虫之道: Python、Golang与GraphQuery的对比
    深入浅出分布式文件存储系统之 Ceph 的实现
    Pastebot—剪切板管理工具
  • 原文地址:https://www.cnblogs.com/ylsd80/p/10471936.html
Copyright © 2020-2023  润新知