CPython
Python 语言的官方参考实现,用 C 语言编写,绝大多数 Python 包(包括带 C 扩展的 NumPy、Pydantic 等)都以它为目标编译和测试
核心事实
时间轴 (近 90 天)
在 Python 3.11 及更新版本中,CPython 重写了 OrderedDict.pop,绕过 Python 层级的双下划线方法,直接操作内部 C 节点。
CPython是Python语言的参考实现,由核心开发团队维护,其行为定义了语言规范的事实标准。
对Python而言,JIT的难点在于CPython的对象模型高度动态,类型推断困难,且C扩展生态广泛依赖解释器内部结构。
Rust与Veil用Rust写Python字节集解释器,用Veil证明其遵循某学术论文所述CPython语义,实证约170万的随机Python程序与CPython 99.95%行为一致。
EXTERNALLY-MANAGED 文件放在 Python 环境 stdlib 目录下(对 CPython 即 lib/python3.x/EXTERNALLY-MANAGED),遵循 INI 格式,通常含 [externally-managed] 段和 Error= 字段。
自由线程版Python(3.13t/3.14t)是CPython的实验性构建,移除了全局解释器锁(GIL),允许多线程真正并行执行Python字节码;许多C扩展尚未适配该版本;安装器并列安装3.13t和3.14t,为用户提供无GIL并发实验选项,同时不影响默认的3.12环境。
解释器(CPython)负责执行代码,包管理器pip用于安装第三方库。
PYTHONHASHSEED 是 CPython 解释器层面的环境变量,自 Python 3.3 起默认启用哈希随机化,以防御哈希碰撞攻击(HashDoS)。
Python的`gc.collect()`只能回收循环引用对象,将内存交还给分配器,操作系统不一定立即收回;重型步骤放入独立子进程,进程退出时内存才能被操作系统彻底回收。
Vercel 的 Python 运行时在 Linux 上运行 CPython,依赖管理支持 uv 和 pyproject.toml。
还有 15 条时间轴事件
全部知识事实 (20)
Python采用CPython解释器将代码编译为字节码,再由Python虚拟机执行
75%待验证Python的整数底层使用任意精度算术实现,用数组来存储大整数的每一段,当数值超出单个机器字的范围时会自动扩展存储空间
90%部分验证Python的`gc.collect()`只能回收循环引用对象,将内存交还给分配器,操作系统不一定立即收回;重型步骤放入独立子进程,进程退出时内存才能被操作系统彻底回收。
65%待验证Pyodide 将 CPython 解释器及 NumPy、Pandas 等科学计算库编译为 WASM,被 JupyterLite 等项目广泛采用
60%待验证在 Python 3.11 及更新版本中,CPython 重写了 OrderedDict.pop,绕过 Python 层级的双下划线方法,直接操作内部 C 节点。
50%待验证对Python而言,JIT的难点在于CPython的对象模型高度动态,类型推断困难,且C扩展生态广泛依赖解释器内部结构。
50%待验证CPython是Python语言的参考实现,由核心开发团队维护,其行为定义了语言规范的事实标准。
50%待验证Rust与Veil用Rust写Python字节集解释器,用Veil证明其遵循某学术论文所述CPython语义,实证约170万的随机Python程序与CPython 99.95%行为一致。
50%待验证EXTERNALLY-MANAGED 文件放在 Python 环境 stdlib 目录下(对 CPython 即 lib/python3.x/EXTERNALLY-MANAGED),遵循 INI 格式,通常含 [externally-managed] 段和 Error= 字段。
50%待验证自由线程版Python(3.13t/3.14t)是CPython的实验性构建,移除了全局解释器锁(GIL),允许多线程真正并行执行Python字节码;许多C扩展尚未适配该版本;安装器并列安装3.13t和3.14t,为用户提供无GIL并发实验选项,同时不影响默认的3.12环境。
50%待验证解释器(CPython)负责执行代码,包管理器pip用于安装第三方库。
50%待验证PYTHONHASHSEED 是 CPython 解释器层面的环境变量,自 Python 3.3 起默认启用哈希随机化,以防御哈希碰撞攻击(HashDoS)。
50%待验证Vercel 的 Python 运行时在 Linux 上运行 CPython,依赖管理支持 uv 和 pyproject.toml。
50%待验证Vercel 在 GA 阶段选择在 Linux 上运行标准 CPython 解释器,而非 PyPy、GraalPy 等替代实现或在容器中裁剪标准库。
50%待验证Python on Vercel 支持 FastAPI、Flask、Django 等框架,底层使用标准 CPython 和来自 PyPI 的依赖,由 Vercel 接管框架识别、构建和弹性伸缩。
50%待验证在 CPython 中,子进程结束后操作系统才会彻底回收其内存,因此将每个重渲染步骤拆成独立子进程运行,可以利用进程边界换取真正的内存归还。
50%待验证在CPython 3.12.4中,json/decoder.py全文为3,024个token(tiktoken cl100k_base),而其中单个函数py_scanstring只有557个token
50%待验证Chaquopy 是一个将 Python 解释器嵌入 Android 应用的 SDK,通过 Gradle 插件集成,构建时将 CPython 解释器和所需 Python 包打包进 APK
50%待验证cherry-pick 工作流在 Linux 内核、CPython 等成熟开源项目中极为普遍
50%待验证Pyodide是由Mozilla于2019年发起的开源项目,将CPython解释器及科学计算生态编译为WebAssembly字节码在浏览器沙箱中运行
50%