Repolode
pex-tool

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. 1

    从 PyPI 安装 pex

    pip install pex
  2. 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 数据每日更新。

相关项目