• pyinstaller 打包配置文件


    接下来就是资源文件或者配置文件与python程序一起打包了。

    Step1. 

    生成spec文件

    1
    pyi-makespec -F -i tubiao.ico Test.py

    运行命令后会在当前文件夹下生成Test.spec 文件

    Step2.

    编辑Test.spec文件

    在Test.py中我们需要去读取当前文件夹下Conf.json 配置文件,如果此文件不存在,则退出程序。

    现在将Conf.json打包进exe中(程序中需要对路径做处理,即(二)中提到的路径处理函数).

    修改Test.spec 为:

    在data中将资源文件或者配置文件添加进去。

    Step3.

    打包spec文件

    1
    pyinstaller Test.spec

    打包完成,无任何报错信息,生成的exe在dist中,测试Test.exe,将其拷贝至没有Conf.json的文件夹下运行,程序正常运行,打包成功。

    pyinstaller打包后,配置文件无法正常读取问题

    1
    2
    3
    4
    5
    import os
    file = os.path.dirname(os.path.abspath(__file__))
    cf = configparser.ConfigParser()
    print(file)
    cf.read(file+'/data.ini')

    先获取绝对路径在读取

    pyinstaller打包成exe之后,获取exe路径

     

    文件路径  C:\Users\寒寻\Documents\gamefi\createNewETHAddress\createNewETHAddress.py


    print(os.path.realpath(sys.argv[0]))

    C:\Users\寒寻\Documents\gamefi\createNewETHAddress\createNewETHAddress.py


    print(os.path.realpath(sys.executable))

     C:\ProgramData\Anaconda3\envs\gamefi\python.exe


    print(os.path.dirname(os.path.realpath(sys.argv[0])))

    C:\Users\寒寻\Documents\gamefi\createNewETHAddress


    print(os.path.dirname(os.path.realpath(sys.executable)))

    C:\ProgramData\Anaconda3\envs\gamefi


    如果直接使用__file__,在打包成exe之后是无法获取文件路径的

  • 相关阅读:
    CSS 基础语法
    标签
    HDU 5487 Difference of Languages BFS
    HDU 5473 There was a kingdom 凸包 DP
    HDU 5468 Puzzled Elena 莫比乌斯反演
    BNU 3692 I18n 模拟
    补题列表
    POJ 3241 曼哈顿距离最小生成树 Object Clustering
    UVa 1309 DLX Sudoku
    CodeForces Round #320 Div2
  • 原文地址:https://www.cnblogs.com/xiondun/p/16380870.html
Copyright © 2020-2023  润新知