Python3打包exe的两种方法:cx_Freeze与PyInstaller详解
本文详细解析Python3打包exe文件的两种主流方法。首先介绍cx_Freeze的使用步骤及手动处理依赖的局限性,随后重点讲解推荐的PyInstaller工具,包括常用参数说明、打包命令及dist目录结构。针对打包过程中常见的setuptools版本报错问题,提供了具体的更新解决方案,帮助开发者高效完成Python程序发布。
本文深入解析了将Python3代码打包为exe可执行文件的两种具体方法,通过详细的示例代码展示操作流程,旨在为读者的学习或实际工作提供具有参考价值的技术指导。
方法一:cx_Freeze打包流程及缺陷
方法一:cx_Freeze(不推荐)
早期阶段,cx_Freeze是少数支持将Python3打包为exe的工具之一。以下是其基本使用示例:
首先,在待打包的Python源文件所在目录下,新建一个名为setup.py的配置文件:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from cx_Freeze import setup, Executable
base = None
executables = [
Executable('你的代码.py', base=base)
]
setup(
name="TTyb",
version="1.0",
description="打包示例",
executables=executables
)
接着,在当前命令行环境中执行相应的打包命令:
python3 setup.py build
执行上述命令后,当前目录下会生成一个名为build的文件夹,其中包含生成的exe文件。
需要注意的是,cx_Freeze在打包时可能会忽略部分依赖文件。因此,通常需要手动从site-packages目录中拷贝相关依赖文件至build文件夹内,这一过程较为繁琐。
方法二:PyInstaller高效打包指南
方法二:PyInstaller(推荐)
随着PyInstaller开始支持Python3,打包流程变得更为简便。用户只需在当前命令行下执行以下命令即可:
#命令语法:pyinstaller -F 文件名(带后缀py)
#常用参数说明:
#–icon=图标路径
#-F 打包成一个exe文件
#-w 使用窗口,无控制台
#-c 使用控制台,无窗口
#-D 创建一个目录,里面包含exe以及其他一些依赖性文件
#pyinstaller -h 来查看参数
#将cmd的目录切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下:
#有命令窗口弹出
pyinstaller -F shjys_rjjqk.py
#无命令窗口弹出
pyinstaller -F -w shjys_rjjqk.py
#或者
pyinstaller -F shjys_rjjqk.py --noconsole
打包完成后,生成的exe文件位于同目录下的dist文件夹中。如果存在依赖文件,建议将其一并放入dist文件夹以确保程序正常运行。
若在打包过程中遇到错误提示:
for real_module_name, six_moduleAttributeError: 'str' object has no attribute 'items'
这通常表明当前的setuptools版本过低或不兼容。解决方法是直接更新该版本:
pip3 install -U setuptools
以上即为Python3打包exe的两种方法详解,希望能为各位的学习与应用带来帮助。欢迎持续关注本站以获取更多技术支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













