You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否创建包含依赖项的可执行Python zip归档文件用于跨平台分发?

用Python zipapp打包包含第三方依赖的可执行Zip归档文件

你的需求完全可行,通过标准库的zipapp工具就能实现将第三方依赖(如termcolor)和应用代码一并打包成.pyz文件,无需用户手动安装依赖。以下是具体解决步骤:

1. 整理项目结构

确保你的项目目录包含入口文件和依赖清单:

my_app/
├── __main__.py   # 应用入口,将你的测试代码放入此文件
└── requirements.txt  # 写入依赖:termcolor

__main__.py内容:

from termcolor import cprint

print('hello world')
cprint('hola mundo', 'red')

2. 将依赖安装到项目目录

在项目根目录执行命令,把第三方依赖安装到当前目录下(这样zipapp才能把它们打包进去):

pip install -t ./my_app -r ./my_app/requirements.txt

3. 生成包含依赖的可执行Zip归档

用标准库的zipapp工具打包整个my_app目录:

python -m zipapp my_app -o my_app.pyz

问题排查

  • 你第一次生成的.pyz无法在无依赖环境运行,是因为打包时目录里没有包含termcolor的文件,必须先把依赖安装到项目目录再打包。
  • 你使用第三方工具zipapps(注意是复数)时进入REPL,是因为未指定明确的入口点。可以通过添加-m参数指定入口模块(比如-m my_app:main,如果你的入口函数是main),或者确保项目目录下存在__main__.py作为默认入口。

生成的my_app.pyz可以直接在安装了Python的Windows系统上运行,用户只需执行:

python my_app.pyz

内容的提问来源于stack exchange,提问作者Psionman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 21:10:08