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

一、概述

目前有一个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	estdist	est.exe
7921 INFO: Building EXE from EXE-00.toc completed successfully.

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

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

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

打开文件,查看内容

ok,程序运行正常。

总结

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

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

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

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

本文参考链接:

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

原文地址:https://www.cnblogs.com/xiao987334176/p/14143930.html