zoukankan      html  css  js  c++  java
  • pyinstaller将资源文件打包进exe中

    在网上看了很多博客,终于找到了符合自己智商可理解的打包资源文件方法,现引用如下
    https://www.cnblogs.com/darcymei/p/9397173.html
    https://blog.csdn.net/sinat_27382047/article/details/81304065
    """
    终于把资源文件加载进去了,就是当exe文件移植后,它运行的时候会产生一个临时文件夹,把资源文件存储到临时文件夹内才可以加载移植,
    在我的软件主程序aa.py中增加了一段代码,就是实现相对路径到绝对路径的抓换。

    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)

    访问res文件夹下a.txt的内容

    filename = resource_path(os.path.join("res","a.txt"))
    print(filename)
    with open(filename) as f:
    lines = f.readlines()
    print(lines)
    f.close()
    这段代码太重要了,好好理解,一定要加到主程序中去。
    第一步:打包生成spec文件
    pyinstaller -Fw aa.py -i favicon.ico -p GEthernet.py -p vlanifghout.py
    第二部:打包生成exe
    pyinstaller -F aa.spec

    -- mode: python ; coding: utf-8 --

    block_cipher = None

    a = Analysis(['aa.py'],
    pathex=['GEthernet.py', 'vlanifghout.py', 'D:\pythonGUIProject'],
    binaries=[],
    datas=[('D:\pythonGUIProject\time.jpg','time.jpg'),('D:\pythonGUIProject\favicon.ico','favicon.ico')],
    hiddenimports=[],
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False)
    pyz = PYZ(a.pure, a.zipped_data,
    cipher=block_cipher)
    exe = EXE(pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='aa',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=False )
    coll = COLLECT(exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='aa')
    """

  • 相关阅读:
    Kubernetes之network: failed to set bridge addr: "cni0" already has an IP address different from xxx问题
    k8s的存储Volume
    系统漏洞扫描与分析软件
    linux图形化安装oracle
    JMX监控tomcat jdbc pool
    Hyper-V
    苹果手机
    读书
    clickhouse count
    clickhouse分布式表
  • 原文地址:https://www.cnblogs.com/yttgrowupup/p/13841041.html
Copyright © 2011-2022 走看看