Python从小白到高手实现系列七十二:cx_Freeze

cx_Freeze(http://cx-freeze.sourceforge.net/)是另一种用于创建独立可执行文件的工具。
它是一种比 PyInstaller 更加简单的解决方案,但也支持 3 个主要平台:
• Windows;
• Linux;
• Mac OS X。
与 PyInstaller 一样,它不允许我们执行跨平台构建,因此你需要在想要分发的同一个
操作系统中创建可执行文件。cx_Freeze 的主要缺点是它不允许我们创建真正的单文件可执
行文件。用它构建的应用都需要与相关的 DLL 文件和库一起分发。假如我们想要创建与
PyInstaller 一节介绍过的相同的应用,示例用法也非常简单,如下所示:
$ cxfreeze myscript.py
copying C:\Python27\lib\site-packages\cx_Freeze\bases\Console.exe ->
D:\dev\app\dist\myscript.exe
copying C:\Windows\system32\python27.dll ->
D:\dev\app\dist\python27.dll
writing zip file D:\dev\app\dist\myscript.exe
(…)
copying C:\Python27\DLLs\bz2.pyd -> D:\dev\app\dist\bz2.pyd
copying C:\Python27\DLLs\unicodedata.pyd ->
D:\dev\app\dist\unicodedata.pyd
生成的文件结构如下所示:
$ tree /f
│ myscript.py

└───dist
bz2.pyd
myscript.exe
python27.dll
unicodedata.pyd
cx_Freeze 扩展了 distutils 包,而不是为构建规范提供自己的格式(像 PyInstaller 那
样)。也就是说,你可以使用熟悉的 setup.py 脚本来配置如何构建独立可执行文件。如果
你已经使用 setuptools 或 distutils 来分发包的话,那么使用 cx_Freeze 非常方便,因
为额外的集成只需要对 setup.py 脚本进行很小的修改。下面是这种 setup.py 脚本的一
个示例,利用 cx_Freeze.setup()在 Windows 上创建独立可执行文件,如下所示:
import sys
from cx_Freeze import setup, Executable

自动检测依赖。但可能需要微调。

build_exe_options = {“packages”: [“os”], “excludes”: [“tkinter”]}
setup(
name=“myscript”,
version=“0.0.1”,
description=“My Hello World application!”,
options={
“build_exe”: build_exe_options
},
executables=[Executable(“myscript.py”)]
)
利用这样一个文件,可以向 setup.py 脚本添加新的 build_exe 命令来创建新的可
执行文件:
$ python setup.py build_exe
cx_Freeze 的用法似乎比 PyInstaller 更简单一些,而且 distutils 集成是一个非常有
用的功能。不幸的是,这个项目可能会给没有经验的开发者带来一些麻烦。
• 在 Windows 中利用 pip 安装可能会有问题。
• 官方文档非常简短,有些地方还是缺失的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

断水流大撕兄

你的鼓励,就是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值