本文目录导读:

PyPy 对主流库的兼容性已经相当不错,但并非 100% 覆盖所有库,以下是目前主要库的兼容情况总结:
完全兼容或高度兼容的库
- 科学计算:NumPy、SciPy(PyPy 7.3+ 后大幅改善)
- Web框架:Django、Flask、FastAPI、aiohttp
- 数据库:SQLAlchemy、psycopg2(有 cffi 版本)、redis-py
- 网络/爬虫:requests、httpx、Scrapy
- 数据处理:pandas(基本可用,但速度优势不明显)
不兼容或部分兼容的库
-
C扩展依赖强的库:
- TensorFlow(不支持)
- PyTorch(不支持)
- OpenCV(需要安装 opencv-python-headless 等特殊版本)
-
依赖CPython内部机制的库:
- Cython 编译的扩展(需要重新编译)
- 使用
__slots__、__del__等特性的库可能有微妙差异
实际建议
- 纯Python库(如 requests、Flask)→ 完全兼容,且PyPy性能更好
- 纯C扩展库(如 TensorFlow)→ 不兼容,必须用CPython
- 混合库(如 NumPy)→ 新版PyPy支持但可能略微慢于CPython
- 部署前务必测试你项目依赖的所有库
简单判断:如果你的项目能用 CPython 运行且主要依赖纯 Python 库,PyPy 很可能是更好的选择,对于数据科学/深度学习,建议继续使用 CPython。