多个py文件生成一个可运行exe文件

发布时间:2020-12-24 09:37:30编辑:admin阅读(255)

    一、概述

    目前有一个python脚本,需要在别的电脑中运行,安装python环境太麻烦,封装成exe文件,运行比较方便。

     

    二、演示

    环境说明

    python版本:3.7.9

    操作系统:windows 10

     

    安装模块

    pip3 installer pyinstaller

     

    封装

    新建目录test,目录结构如下:

    ./
    ├── conf.py
    └── test.py

     

    conf.py

    # !/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    people_dict = [
        {
            "name":"张三",
            "age":'23'
        },
        {
            "name":"李四",
            "age":'21'
        }
    ]


    test.py

    # !/usr/bin/python3
    # -*- coding: utf-8 -*-
    import conf
    import json
    
    with open('ret.txt',encoding='utf-8',mode='w') as f:
        f.write(json.dumps(conf.people_dict))

     

    打开cmd窗口,进入test目录,执行:

    pyinstaller -F -c test.py

    注意:test.py是主程序

     

    输出:

    ...
    7908 INFO: checking EXE
    7909 INFO: Building EXE because EXE-00.toc is non existent
    7912 INFO: Building EXE from EXE-00.toc
    7913 INFO: Appending archive to EXE E:\python_script\test\dist\test.exe
    7921 INFO: Building EXE from EXE-00.toc completed successfully.

    它会创建2个目录,分别是build和dist。

    进入dist,里面有一个test.exe程序,双击打开即可。

    1.png

     

     运行之后,会创建一个文件ret.xt。这个是py程序做的,用来判断程序是否执行。

    打开文件,查看内容

    1.png

    ok,程序运行正常。

     

    总结

    将py文件,打包成exe还是很方便的。注意-c参数,指定为主程序即可。

    对于读取动态配置文件的需求,不能将配置文件定义为py文件,因为封装成exe之后,就无法修改了。

    解决方案就是,将配置文件改成json文件,然后主程序读取json文件,并使用json.loads()转换一下,就可以了。

    需要特别注意json文件和exe文件,在同一目录。

     

    本文参考链接:

    https://www.cnblogs.com/z3286586/p/10978701.html


关键字