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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python numpy.transpose 详解「建议收藏」

    Python numpy.transpose 详解「建议收藏」前言看Python代码时,碰见numpy.transpose用于高维数组时挺让人费解,通过一番画图分析和代码验证,发现transpose用法还是很简单的。正文Numpy文档numpy.transpose中做了些解释,transpose作用是改变序列,下面是一些文档Examples:代码1:x=np.arange(4).reshape((2,2))输出1:#x为:array(

    2022年5月5日
    48
  • 寄存器与锁存器的区别

    寄存器与锁存器的区别

    2022年3月13日
    30
  • 云服务器和虚拟主机哪个好?两者有什么优缺点?「建议收藏」

    云服务器和虚拟主机哪个好?两者有什么优缺点?「建议收藏」云服务器和虚拟主机哪个好?两者有什么优缺点?想必有好多网站站长和中小型企业都被这个问题所困惑。现在小杜就来讲一讲云服务器和虚拟主机分别的特征和差异,小杜我相信大家看完本文后,就不会再被这样的问题所困惑了。云服务器云服务类似于传统的独立主机一样,它有自身独立的IP和宽带资源的,而且云服务器自身带有防火墙等防御工具。可是它不同于传统的独立主机,它可以按照使用者的需求量来增加或是降低服务器的配置,而且可以按照所需所用租用,而且租用云主机建立网站的成本,比传统独立主机建立要低好多。优点:它有独立的IP,独立

    2022年6月25日
    24
  • Simhash_immutable

    Simhash_immutablesimhash与重复信息识别来源:http://grunt1223.iteye.com/blog/964564在工作学习中,我往往感叹数学奇迹般的解决一些貌似不可能完成的任务,并且十分希望将这种喜悦分享给大家,就好比说:“老婆,出来看上帝”…… 随着信息爆炸时代的来临,互联网上充斥着着大量的近重复信息,有效地识别它们是一个很有意义的课题。例如,对于搜索引擎的

    2022年10月31日
    0
  • java缓存处理_清理java缓存

    java缓存处理_清理java缓存 java缓存技术一(转)看一粒沙中的世界,一朵野花中的天堂。把无限握于掌中,把永恒握于瞬间。——威廉•布莱克开始讨论缓存之前,让我们先来讨论讨论另外一个问题:理论和实践.从ahuaxuan接触的程序员来看,有的程序员偏实践,有的程序员偏理论,但是这都是不好的行为,理论和实践同样重要,我们在做很多核心的算法的时候,没有理论根本无从下手,而在我们多年的实践中,不

    2022年9月1日
    1
  • 按位取反怎么运算_按位取反运算

    按位取反怎么运算_按位取反运算读本文前请首先搞懂“反码”,“取反”,“按位取反(~)”,这3个概念是不一样的。取反:0变1,1变0反码:正数的反码是其本身,对于负数其符号位不变其它各位取反(0变1,1变0)按位取反(~):这将是下面要讨论的。“~”运算符在c、c++、java、c#中都有,之前一直没有遇到这个运算符。要弄懂这个运算符的计算方法,首先必须明白二进制数在内存中的存放形式,二

    2022年4月19日
    113

发表回复

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

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