Python封装成可带参数的EXE安装包

最近有一个小项目,有如下的需求:将某几个源码文件夹进行打包,文件夹内有py文件、dll文件、exe文件等各种文件类型打包生成的安装包,在进行安装的时候,应该能够带有参数,对配置文件进行修改配置安装过程中,可以配置系统环境变量能够检测环境,提示安装依赖包整个过程要可以自动化,能够大量部署综合考虑后,决定以下几个步骤完成:用setup.py将源码文件夹都打包成msi安装包,
摘要由CSDN通过智能技术生成

最近有一个小项目,有如下的需求:

  1. 将某几个源码文件夹进行打包,文件夹内有py文件、dll文件、exe文件等各种文件类型
  2. 打包生成的安装包,在进行安装的时候,应该能够带有参数,对配置文件进行修改配置
  3. 安装过程中,可以配置系统环境变量
  4. 能够检测环境,提示安装依赖包
  5. 整个过程要可以自动化,能够大量部署
综合考虑后,决定以下几个步骤完成:
  1. 用setup.py将源码文件夹都打包成msi安装包,这样可以使用msiexec进行静默安装
  2. setup.py可以提示用户安装依赖包,否则安装失败
  3. 再编写一个py文件,用来静默安装msi安装包,并配置系统环境变量,接受安装参数去修改配置文件的属性
  4. 最后使用pyinstaller将所有都打包成exe文件

先来编写setup.py文件:
# coding=utf-8
from distutils.core import setup
import os


def get_all_dir(path):
    """
        获取指定路径下的所有文件
    """
    all_file = []
    for dirpath, dirnames, filenames in os.walk(path):
        for filename in filenames:
            all_file.append(dirpath)
    return all_file


if __name__ == '__main__':
    all_file = get_all_dir('A') + get_all_dir('B')  # 获取相对路径下A和B两个文件夹下的所有文件
    setup(name='Example',  # 所要安装的软件名
          version="1.0",  # 版本
          description="This is example",  # 对所安装软件的描述
          author="author",  # 作者
          author_email='my email',  # 邮箱
          packages=all_file,  # 要打包的文件
          package_data={'': ['*.*']},  # 所有文件类型都打包
          classifiers=[
              'Development Status :: 5 - Production/Stable',
              'Operating System :: Microsoft :: Windows',
             
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值