Python脚本到Windows可执行程序——Cxfreeze的安装与使用

Python脚本到Windows可执行程序——Cxfreeze的安装与使用Python脚本到Windows可执行程序——Cxfreeze的安装与使用下载安装打包程序通过命令行简单使用使用setup.py详细配置Python脚本到Windows可执行程序——Cxfreeze的安装与使用写好的Python程序,分发到Windows用户的时候,如果再在每一台电脑上配置执行Python程序的解释器和相应的依赖库,就会比较繁琐。所以可以将Python程序打包程可执行的.exe文件。可以用的库有:cx_freeze,py2exe,P.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Python脚本到Windows可执行程序——Cxfreeze的安装与使用

写好的 Python 程序,分发到 Windows 用户的时候,如果再在每一台电脑上配置执行 Python 程序的解释器和相应的依赖库,就会比较繁琐。 所以可以将 Python 程序打包程可执行的 .exe 文件。可以用的库有:cx_freeze,py2exe,PyInstaller。在此介绍 cx_freeze。

下载安装

pip install cx_freeze
cxfreeze -h

打包程序

通过 命令行 简单使用

cxfreeze main.py [可选参数如下]
# --target-dir 是打包后的程序路径
# --target-name 是打包后的程序名
# --base-name=win32gui 程序用到图形化界面后,配置可使程序打开时隐藏黑窗口
# --include-modules 是要包含的模块或库
# --icon 是打包后的程序图标。(我使用的时候,这一项不起作用,还不知道为什么)

如果常用,可以工程目录下建一个 build.bat 文件,存放上述命令。

使用 setup.py 详细配置

  • 编写 setup.py 文件
from cx_Freeze import setup, Executable

build_exe_options = { 
   
    'packages': [], # 默认可不填,程序会自动寻找依赖,如果运行时,提示有缺少的包,可以在这里添加
    'excludes': [],
    "include_files": ["config.ini"]  # 可以添加程序用到的其他文件
}

setup(
    name="",
    version="1.0",
    description="",
    author="Combofish",
    options={ 
   "build_exe":build_exe_options},
    executables=[Executable(script="main.py",base="win32gui",icon="XX.ico")])
  • 需要打包的时候,进入到相应的目录,执行命令:
python setup.py build #打包后的文件放在build目录下 
  • 可选的打包方式:生成 .msi 格式的 windows 安装包
python setup.py bdist_msi
  • 两种方法的区别

    • build 会在当前目录下生成目录,存放可执行的文件以及依赖,目录结构如下:
    lib\
    python3.dll
    python38.dll
    main.exe
    
    • bdist_msi 想当于把这些压缩打包程一个文件,并且可以安装。分发时单个文件会比较方便。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180036.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BigInteger可以计算超出Integer范围的数

    BigInteger可以计算超出Integer范围的数BigInteger 可以让超过 Integer 范围内的数据进行运算构造方法 BigInteger Stringval publicclassB publicstatic String args 这几个测试 是为了简单超过 int 范围内 Integer 就不能再表示 所以就更谈

    2025年8月29日
    0
  • win7系统opc服务器配置,win7 设置opc服务器

    win7系统opc服务器配置,win7 设置opc服务器win7设置opc服务器内容精选换一换创建媒体处理服务配置项。媒体处理服务配置项用于媒体处理服务中获取相关授权。参数和对应说明如表1。MpcConfigmpcConfig=newMpcConfig();mpcConfig.setEndPoint(“endPoint”);//设置转码节点地址mpcConfig.setProjectId(华为云帮助中心,为用户提供产品简介、价格说明、购买…

    2022年6月20日
    25
  • c++ pushback函数_push back from

    c++ pushback函数_push back from算法中里面的一个函数名,如c++中的vector头文件里面就有这个push_back函数,在vector类中作用为在vector尾部加入一个数据。string中也有这个函数,作用是字符串之后插入一个字符。如果是指标准模板库(stl)中容器的一般pushback()操作函数,那么是指在容器尾端插入一项数据,比如vectora(10);a.pushback(10);那么a的尾端,同时也是唯…

    2025年8月4日
    4
  • 解释afterPropertiesSet

    在spring的bean的生命周期中,实例化->生成对象->属性填充后会进行afterPropertiesSet方法,这个方法可以用在一些特殊情况中,也就是某个对象的某个属性需要经过外界得到,比如说查询数据库等方式,这时候可以用到spring的该特性,只需要实现InitializingBean即可:@Component(“a”)publicclassAimplementsInitializingBean{privateBb;publicA(Bb){

    2022年4月6日
    75
  • ssm框架过时了吗_Spring Boot

    ssm框架过时了吗_Spring BootSpringSpring是一个开源的免费的框架Spring是一个轻量级的,非入侵式的框架控制反转(IOC),面向切面编程(AOP)支持事务的处理,对框架整合的支持IOC理论UserDaoUserDaoImpUserSeviceUserServiceImp在之前,用户的需求可能会影响原来的代码。使用一个set。public void setUserDao(UserDao userDao){ this.userDao = userDao;}之前是主动创建对象,控制

    2022年8月8日
    7
  • lamp配置多个虚拟站点

    lamp配置多个虚拟站点在同一ip下添加多个域名站点!1.查看ip命令:ifconfig2.添加域名命令:vi/etc/hosts输入域名:如192.168.160.127www.test.com192.168.160.127www.test2.com3.创建要配置站点的文件夹及文件.var/www/test/index.php/var/www/test2/inde…

    2022年6月5日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号