python/cpython
开发工具Python 语言的参考实现,适合需要自行构建、测试或参与 Python 本身开发的开发者。
项目是什么
这里维护的是 CPython——Python 编程语言的参考实现,main 分支对应 3.16.0 alpha 1+dev。普通用户通常从 python.org 安装 Python,而不是直接编译本仓库;这个源码树的用途是自行构建解释器、运行测试并向上游提交改动。已发布的文档在 docs.python.org,贡献流程、构建依赖和测试说明见开发者指南。
在 Unix、Linux、BSD、macOS 和 Cygwin 上构建
前置条件因平台而异:需要编译器和各扩展模块所需的第三方库,当前 Linux 发行版和 macOS 的依赖清单在开发者指南的构建依赖章节。进入仓库根目录后执行:
./configure
make
make test
sudo make install
安装后的解释器名为 python3。make test 运行测试套件并输出摘要,因缺少可选功能而跳过部分测试属于正常现象。要得到优化版本,在 make 前运行 ./configure --enable-optimizations 启用 PGO(部分平台还会自动启用 LTO),也可以加 --with-lto 单独启用链接时优化。若想保留独立的调试构建,可新建子目录并在其中调用 configure(mkdir debug && cd debug && ../configure --with-pydebug && make && make test),但这与之前在当前目录的构建冲突,需先在顶层执行 make clean。
Windows 和 macOS 另有构建说明:Windows 见 PCbuild/readme.txt,macOS 的 framework 和通用构建见 Mac/README.rst。如果测试失败且看起来是 Python 本身而非环境问题,可用详细模式重跑单个测试(make test TESTOPTS="-v test_os test_gdb"),并把输出附到问题跟踪器。
与已有版本共存安装
同一个 --prefix 下安装多个版本时,用 make install 安装作为主版本的 Python,让 ${prefix}/bin/python3 指向它;其余版本用 make altinstall,这样安装的文件带版本号,可以并存。
使用约束
- 构建依赖平台工具链和可选库,并非所有标准库模块都能在所有平台上构建或使用。
- 仓库元数据中的许可证不是单一 SPDX 标识。发行版不含 GPL 代码,因此可用于专有项目,但部分 GNU 代码接口是可选的;完整条款见 LICENSE。
- 发布节奏见 PEP 826;当前源码对应 alpha 版本,行为可能与稳定版 Python 不同。
- 多数用户应安装正式发布的 Python,而不是构建
main;这个源码树面向需要体验 3.16 预发布版本、参与解释器开发或验证改动的人。
HotRepo 点评
围绕这个仓库的讨论更多指向语言本身的演进。2024 年 3 月关于禁用 GIL 的帖子讨论量很大,其中给出了设计资料和 Sam Gross 的项目链接(评论、PEP 703 补充),说明自由线程执行是正在推进的方向。也有评论把它与外部加速器和替代语言实现放在一起比较(讨论),这表明 CPython 的性能工作与生态中的附加工具属于不同路线。更早的2017 年迁往 GitHub 属于历史讨论,不代表当前贡献流程。HotRepo 在 2026-11-01 的全部语言日榜上记录到第 17 名,分类 Python 语言榜上也有记录,当天新增 47 星;单次快照只能说明当天名次,不足以判断趋势。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。