镜像概述和主要用途
PyPy 是一个快速、兼容的 Python 语言替代实现。本 Docker 镜像提供了 PyPy 解释器的容器化版本,专注于速度、效率和与原始 CPython 解释器的兼容性。PyPy 通过其即时编译器 (JIT) 能够在运行时将 Python 代码转换为机器码,显著提高许多 Python 程序的执行速度。
!https://raw.githubusercontent.com/docker-library/docs/ff804ee81e3f94dab5cd207a0a0504e5e67606dd/pypy/logo.png
核心功能和特性
- 高性能执行:通过 JIT 编译器将 Python 代码实时转换为机器码,通常比 CPython 快数倍
- 内存效率:相比 CPython 通常具有更低的内存占用
- CPython 兼容性:支持大多数 Python 语言特性和标准库
- 多版本支持:提供 Python 2.7 和 Python 3.x 版本的 PyPy 实现
- 多种镜像变体:提供标准、精简 (slim) 和 Windows 版本的镜像
支持的标签
简单标签 (Simple Tags)
Python 3.11 系列
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/3.11/trixie/Dockerfile
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/3.11/slim-trixie/Dockerfile
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/3.11/bookworm/Dockerfile
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/3.11/slim-bookworm/Dockerfile
- Windows 版本: https://github.com/docker-library/pypy/blob/b32ca0567b9856e21c607610254748a24439a956/3.11/windows/windowsservercore-ltsc2025/Dockerfile
- Windows 版本: https://github.com/docker-library/pypy/blob/b32ca0567b9856e21c607610254748a24439a956/3.11/windows/windowsservercore-ltsc2022/Dockerfile
Python 2.7 系列
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/2.7/trixie/Dockerfile
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/2.7/slim-trixie/Dockerfile
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/2.7/bookworm/Dockerfile
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/2.7/slim-bookworm/Dockerfile
- Windows 版本: https://github.com/docker-library/pypy/blob/29ecc5a68bdd0a4643ca2b5495956f541a3ceb72/2.7/windows/windowsservercore-ltsc2025/Dockerfile
- Windows 版本: https://github.com/docker-library/pypy/blob/29ecc5a68bdd0a4643ca2b5495956f541a3ceb72/2.7/windows/windowsservercore-ltsc2022/Dockerfile
共享标签 (Shared Tags)
Python 3.x 系列
-
3.11-7.3.20, 3.11-7.3, 3.11-7, 3.11, 3-7.3.20, 3-7.3, 3-7, 3, latest:
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/3.11/trixie/Dockerfile
- https://github.com/docker-library/pypy/blob/b32ca0567b9856e21c607610254748a24439a956/3.11/windows/windowsservercore-ltsc2025/Dockerfile
- https://github.com/docker-library/pypy/blob/b32ca0567b9856e21c607610254748a24439a956/3.11/windows/windowsservercore-ltsc2022/Dockerfile
-
3.11-7.3.20-windowsservercore, 3.11-7.3-windowsservercore, 3.11-7-windowsservercore, 3.11-windowsservercore, 3-7.3.20-windowsservercore, 3-7.3-windowsservercore, 3-7-windowsservercore, 3-windowsservercore, windowsservercore:
- https://github.com/docker-library/pypy/blob/b32ca0567b9856e21c607610254748a24439a956/3.11/windows/windowsservercore-ltsc2025/Dockerfile
- https://github.com/docker-library/pypy/blob/b32ca0567b9856e21c607610254748a24439a956/3.11/windows/windowsservercore-ltsc2022/Dockerfile
Python 2.x 系列
-
2.7-7.3.20, 2.7-7.3, 2.7-7, 2.7, 2-7.3.20, 2-7.3, 2-7, 2:
- https://github.com/docker-library/pypy/blob/8908818e3c253a09864223f7c148db765684135f/2.7/trixie/Dockerfile
- https://github.com/docker-library/pypy/blob/29ecc5a68bdd0a4643ca2b5495956f541a3ceb72/2.7/windows/windowsservercore-ltsc2025/Dockerfile
- https://github.com/docker-library/pypy/blob/29ecc5a68bdd0a4643ca2b5495956f541a3ceb72/2.7/windows/windowsservercore-ltsc2022/Dockerfile
-
2.7-7.3.20-windowsservercore, 2.7-7.3-windowsservercore, 2.7-7-windowsservercore, 2.7-windowsservercore, 2-7.3.20-windowsservercore, 2-7.3-windowsservercore, 2-7-windowsservercore, 2-windowsservercore:
- https://github.com/docker-library/pypy/blob/29ecc5a68bdd0a4643ca2b5495956f541a3ceb72/2.7/windows/windowsservercore-ltsc2025/Dockerfile
- https://github.com/docker-library/pypy/blob/29ecc5a68bdd0a4643ca2b5495956f541a3ceb72/2.7/windows/windowsservercore-ltsc2022/Dockerfile
使用场景和适用范围
PyPy 镜像适用于以下场景:
- CPU 密集型 Python 应用:如数据处理、科学计算、机器学习训练等需要大量计算的任务
- 长时间运行的服务:PyPy 的 JIT 编译器在长时间运行的应用中能更好地优化代码
- 需要提高执行速度的现有 Python 应用:无需修改代码即可获得性能提升
- 内存受限环境:PyPy 通常比 CPython 具有更低的内存占用
- CI/CD 管道:在持续集成流程中快速执行测试和构建任务
- 微服务架构:为 Python 微服务提供高效运行环境
PyPy 特别适合执行纯 Python 代码,对于大量使用 C 扩展的项目可能不是最佳选择,因为部分 C 扩展可能