用 Rust 编写的极速 Python 包与项目管理工具,可替代 pip、virtualenv、pyenv 等多种工具。
pex-tool/pex
一个 Python 工具,可将应用及其依赖打包成单个可执行的 .pex 文件,类似可移植的虚拟环境。
- Star
- 4,230
- Fork
- 321
- 未关闭 Issue
- 58
- 最近提交
- 3小时前
这是什么?
Pex 用于生成 .pex(Python EXecutable)文件,这是一种自包含的 Python 运行环境,可以像普通可执行文件一样直接运行。它的思路源自 PEP 441,目标是让部署 Python 应用像复制文件一样简单。单个 pex 文件可以包含多个平台的依赖分发包,因此同一个文件能在不同操作系统上运行。
使用 pex 命令时,可以直接传入依赖列表,也可以使用 pip freeze 的输出,或通过项目的 console_scripts 入口点生成独立可执行文件。它还支持临时环境,例如无需创建持久虚拟环境即可运行带有 Flask 的脚本。构建时还可以指定 PyPy 等解释器类型。
项目可通过 pip 安装,更多用法及与 Pants、Buck 等构建工具的集成说明可参考其官方文档站点。
核心功能
- 01可从依赖列表或 requirements 文件构建单文件的可执行 Python 环境。
- 02可打包多平台的依赖分发包,使同一个 pex 文件在多个操作系统上运行。
- 03可将 console_scripts 入口点生成为独立可执行文件。
- 04支持启动临时环境,便于快速试验。
- 05构建时可指定解释器类型,例如 PyPy。
适用场景
- 将 Python 命令行工具或服务打包为单个文件,部署到服务器时无需额外安装步骤。
- 结合 pip freeze 的输出,将可用的虚拟环境固化为便于迁移的归档文件。
- 无需创建项目环境,即可带着若干库快速运行一个脚本。
- 将可复现的 Python 构建集成到 Pants、Buck 等构建系统中。
快速上手
- 1
从 PyPI 安装 pex
pip install pex - 2
打包 requests、flask 和 psutil 为一个 pex 文件
pex requests flask 'psutil>2,<3' -o my_app.pex
标签
常见问题
- pex 是什么?
- 一个 Python 工具,可将应用及其依赖打包成单个可执行的 .pex 文件,类似可移植的虚拟环境。 Pex 用于生成 .pex(Python EXecutable)文件,这是一种自包含的 Python 运行环境,可以像普通可执行文件一样直接运行。它的思路源自 PEP 441,目标是让部署 Python 应用像复制文件一样简单。单个 pex 文件可以包含多个平台的依赖分发包,因此同一个文件能在不同操作系统上运行。
- pex 可以免费使用吗?用的什么许可证?
- pex 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- pex 还在维护吗?
- 活跃维护中。pex 最近一次提交是在 2026年10月24日。
- pex 适合用来做什么?
- 将 Python 命令行工具或服务打包为单个文件,部署到服务器时无需额外安装步骤。 结合 pip freeze 的输出,将可用的虚拟环境固化为便于迁移的归档文件。 无需创建项目环境,即可带着若干库快速运行一个脚本。 将可复现的 Python 构建集成到 Pants、Buck 等构建系统中。
- pex 怎么安装和运行?
- 从 PyPI 安装 pex: pip install pex 打包 requests、flask 和 psutil 为一个 pex 文件: pex requests flask 'psutil>2,<3' -o my_app.pex
- 在哪里获取 pex?
- 源代码和安装说明在 GitHub 上:https://github.com/pex-tool/pex
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
9.1万+41 本周3689RustApache-2.0更新于 1小时前
Nuitka 是用 Python 编写的 Python 编译器,可将 Python 程序编译为可执行文件或扩展模块。
1.5万799PythonAGPL-3.0更新于 12小时前
基于 PEP 621、PEP 517 标准的现代 Python 包与依赖管理工具,支持虚拟环境与锁文件。
8662505PythonMIT更新于 6小时前
自动检查代码仓库依赖版本并提交更新 PR 的依赖管理工具。
2.3万+16 本周3395TypeScriptAGPL-3.0更新于 1小时前
一本面向初学者的开源书籍,沿着硅晶圆从沙子到芯片的全过程,讲解晶圆厂制造流程,无需深厚物理基础。
1309+15 本周121PythonOther更新于 6天前
可自托管的部署平台,通过 SSH 将应用、数据库和一键服务部署到你自己的服务器,可替代 Heroku、Netlify 和 Vercel。
6.4万+264 本周5740PHPApache-2.0更新于 4小时前