Python 3.16:正在开发的下一个版本

CPython 在 GitHub 上已经拿到 73,162 个 Star。

这是 Python 官方解释器的源代码仓库,目前主分支正处于 3.16.0 alpha 0 阶段。如果你需要从源码编译 Python,或者想了解即将发布的新特性,这个仓库就是入口。

正文顶部截图

1、 这玩意儿是干嘛的

CPython 是 Python 语言的参考实现,也是绝大多数人在用的解释器。它把 Python 代码翻译成字节码,然后在虚拟机里执行。

这个仓库包含了完整的解释器源码、标准库、测试套件和文档。从 1991 年第一个版本到现在,它已经走过了三十多年。

2、 怎么从源码编译

在 Unix、Linux、BSD、macOS 和 Cygwin 上,编译过程就三步:

./configure
make
make test
sudo make install

这会安装为 python3。想开调试模式就加 --with-pydebug,想优化性能就加 --enable-optimizations

Windows 编译走另一条路,需要看 PCbuild/readme.txt

README区域截图

3、 两个编译优化选项

--enable-optimizations 会开启 PGO(Profile Guided Optimization)。它的工作方式分三步:先编译一个带插桩的解释器,跑一遍训练负载收集执行数据,再用这些数据编译最终版本。最终得到的二进制文件运行速度会有明显提升。

--with-lto 开启 Link Time Optimization。它让编译器在链接阶段跨文件边界做优化,进一步压榨性能。两个选项一起用,出来的 Python 执行效率最高。

4、 多版本共存

如果你要在同一台机器上装多个 Python 版本,用 make altinstall 代替 make install。这样装出来的文件都带版本号,不会互相覆盖。比如同时装 3.15 和 3.16,各自独立存在。

5、 适合哪些人用

  • 需要从源码定制 Python 的开发者
  • 想提前体验 3.16 新特性的人
  • 给 Python 本身贡献代码的维护者
  • 在嵌入式或特殊平台上编译 Python 的系统工程师

CPython 的测试命令是 make test,失败时可以加 TESTOPTS="-v 测试名" 单独跑。详细的开发指南在 docs.python.org 和 devguide.python.org 上都有。

的开发指南在 docs.python.org 和 devguide.python.org 上都有。

更多推荐